MATLAB Answers

Parfor starting a new parallel pool at every call?

26 views (last 30 days)
adajaga
adajaga on 11 Oct 2018
Answered: adajaga on 11 Oct 2018
Hi, I am running MATLAB on a cluster, and noticed my jobs suddenly becoming very slow. When I looked at the logs it is a lot of (Starting parallel pool (parpool) using the 'local' profile) spam. It seems that MATLAB is starting a new parallel pool every time I call a parfor loop.
When I run MATLAB on the front end I encounter the same problem, e.g.:
>> parfor i=1:2;disp(i);end
Starting parallel pool (parpool) using the 'local' profile ...
2
1
>> parfor i=1:2;disp(i);end
Starting parallel pool (parpool) using the 'local' profile ...
2
1
>> parfor i=1:2;disp(i);end
Starting parallel pool (parpool) using the 'local' profile ...
2
Any idea what could be happening? (running '9.4.0.902940 (R2018a) Update 4')

  0 Comments

Sign in to comment.

Accepted Answer

OCDER
OCDER on 11 Oct 2018
Do this once in your MATLAB command line to set the default setting to :
ps = parallel.Settings;
ps.Pool.AutoCreate = false; %do not autocreate parpool when encountering a |parfor|
ps.Pool.IdleTimeout = Inf; %do not shutdown parpool after Inf idle time

  0 Comments

Sign in to comment.

More Answers (1)

adajaga
adajaga on 11 Oct 2018
Thanks that did it!

  0 Comments

Sign in to comment.

Sign in to answer this question.