MATLAB Answers

Parfor starting a new parallel pool at every call?

6 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')

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

Community Treasure Hunt

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

Start Hunting!

Translated by