Recursion Limit inside parfor

4 visualizaciones (últimos 30 días)
Samuel
Samuel el 10 de Mzo. de 2014
Comentada: Edric Ellis el 11 de Mzo. de 2014
It seems that resetting recursion limit is ignored inside parfor. I have a recursive program that will exceed the default 500 limit. I can run it without problem using usual for loop. However, if I change it to parfor, I got the error
Caused by:
Maximum recursion limit of 500 reached. Use
set(0,'RecursionLimit',N) to change the limit. Be aware
that exceeding your available stack space can crash MATLAB
and/or your computer.
And no matter where I put the reset limit command set(0,'RecursionLimit',2000) (inside or outside parfor). I still got the same error message

Respuesta aceptada

Edric Ellis
Edric Ellis el 10 de Mzo. de 2014
I would try calling
spmd
set(0, 'RecursionLimit', N);
end
as this will ensure it executes on all workers.
  2 comentarios
Samuel
Samuel el 10 de Mzo. de 2014
Thanks. It works!
I came across another problem though. I keep getting random errors like "The client lost connection to Lab..." I am running matlab through an NX server. I wonder if that can be an issue.
Edric Ellis
Edric Ellis el 11 de Mzo. de 2014
Unexpected loss of connection can sometimes occur if the worker machines crash.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by