Is there a way to tell if a function is executing inside a parfor?

13 visualizaciones (últimos 30 días)
Adam
Adam el 11 de Sept. de 2014
Comentada: Adam el 12 de Sept. de 2014
When I just start typing on the command line and tab to give auto-complete options I came across
isinparfor
This sounded as though it is exactly what I am looking for, but it is undocumented, does nothing and when I look inside the function the 'parfor_depth' that it calls also seems not to do anything either.
I have a function which in some circumstances opens up a dialog with uiwait for the user to choose a directory. This function happens to now be being called from another function and the root function for these calls is being executed in a parfor loop. This causes problems because the program just hangs for ever in the uiwaits since the dialog boxes can't be shown within a parfor loop.
So I was hoping there would be some function or way of telling in the function whether or not it is being executed inside a parfor loop so that I can avoid doing the uiwait browser dialog in that case. So far I haven't been able to find one though.

Respuesta aceptada

Edric Ellis
Edric Ellis el 12 de Sept. de 2014
You could try using
isOnWorker = ~isempty(getCurrentTask());
to see if your code is running on a worker.

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by