Why is Parpool Restarting Repeatedly?

7 visualizaciones (últimos 30 días)
Matthew French
Matthew French el 10 de Feb. de 2016
Respondida: Namnendra el 19 de Jun. de 2022
I am having some difficulty running parfor loops on a cluster. The parfor loop is within a while loop. When I run the script on the cluster, the parallel pool is restarted at each iteration of the for loop. However when I run the code on my machine, the parallel pool is only initialized a single time. Some example code is below. The output from the below code shows "Starting parallel pool (parpool) using the 'local' profile ..." at each iteration of the while loop when run on the cluster. Any thoughts why the parallel pool is being restarted over and over?
while it<=maxit & diff>tol;
it=it+1;
Prev_It=S_e_vfun;
%k loops through the candidate transitions
parfor k=1:(2*nsearch+1)^3
for i=1:nz
for ii=1:nw
S_e_vfun(ii,:,i,k)= MATRIX CALCULATIONS..
end
end
end
diff=max(max(max(max(abs(S_e_vfun(:,:,:,:)-Prev_It(:,:,:,:))))))
end

Respuestas (1)

Namnendra
Namnendra el 19 de Jun. de 2022
You can try starting the parallel pool using parpool command before the start of the while loop. That may set the parallel pool to run continuously. Also check the idle time of parpool by navigating to Home->Parallel->Parallel Preferences. It should be significantly higher than the computation time of your program.
I hope this helps.

Categorías

Más información sobre Parallel Computing Fundamentals 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