Parfor hangs during execution
Afficher commentaires plus anciens
How i can solve this problem that freeze parfor during execution?
Operation terminated by user during distcomp.remoteparfor/getCompleteIntervals (line 225)
In parallel_function>distributed_execution (line 823)
[tags, out] = P.getCompleteIntervals(chunkSize);
In parallel_function (line 590)
R = distributed_execution(...
11 commentaires
OCDER
le 13 Juil 2018
You'll need to provide us with the parfor code you're running. This error message only says you intentionally did a "ctrl+c" command to stop the code.
Andrea Stevanato
le 13 Juil 2018
Modifié(e) : Andrea Stevanato
le 13 Juil 2018
How long does this take without parfor? Use profile to figure out the bottleneck https://www.mathworks.com/help/matlab/ref/profile.html. Debugging in parfor is hard because you can't stop the code at the slowest step, and profiler doesn't time each function inside parfor.
>>profile on
index = 1;
seedPoint = seedPopulation.Value.Individuals(index);
nCrossover=2*round(constant.crossoverProbability.Value*nFliesPopulation/2);
[fliesPopulation(index), spamPopulation(index)] = Algorithms.TeMA.evolution(...
seedPoint, fliesPopulation(index), collectPopulation(index),...
nCrossover, primary, sizeOfRing, constant);
>>profview
Andrea Stevanato
le 13 Juil 2018
Modifié(e) : Andrea Stevanato
le 13 Juil 2018
Andrea Stevanato
le 13 Juil 2018
Modifié(e) : Andrea Stevanato
le 13 Juil 2018
Andrea Stevanato
le 13 Juil 2018
OCDER
le 13 Juil 2018
Hm... This seems to have happened to multiple people. Is any function generating or passing on large data sets (> 2GB)?
Seemed like breaking up the data into smaller chunks helped one person.
Andrea Stevanato
le 13 Juil 2018
OCDER
le 13 Juil 2018
That's hard to say. Do you have a random number generator in the software? Perhaps memory usage differs, depending on what other software are running at the same time. There's also a job timing issue going on in the back, which always changes between runs depending on the current jobs a CPU has to run. Also, you could get a deadlock situation randomly, if multiple workers are trying to read/write to the same file at the same time. Are you doing some sort of read/write operation?
https://en.wikipedia.org/wiki/Deadlock Deadlocks are issues unique to parallel computing.
Andrea Stevanato
le 14 Juil 2018
Andrea Stevanato
le 14 Juil 2018
Réponses (6)
Muhammad Adil Raja
le 27 Jan 2019
1 vote
I am having this same issue for the last couple of days.
Gergely Papp
le 2 Juil 2019
1 vote
I have encountered the same issue, both with 2017/b and 2019/a. The calculations launch in the parallel workers, but along the way they hang 1-by-1. They would hang for days if I don't kill them manually.
Andrea Stevanato
le 16 Juil 2018
0 votes
Jayaram Theegala
le 16 Juil 2018
Modifié(e) : Jayaram Theegala
le 16 Juil 2018
0 votes
Hello Andrea,
In order to understand the issue better, can you try reducing the number of iterations on your first loop, by setting "it" variable used in your first "for" loop to 1. Also, it may be helpful to just start your pool with 1 worker, and see if the issue still persists.
If the issue continues to happen even after the above changes, provide the following information:
1) Brief information about the function used within the parfor loop: Algorithms.TeMA.evolution
2) Does the issue happen without the above function?
3) Finally, it is generally advisable for outer-most loop to be parfor and the inner loops being for loops. https://in.mathworks.com/help/distcomp/nested-parfor-loops-and-for-loops.html
Zachary Eilon
le 26 Juin 2019
I am having a similar problem. A simple demo code is shown below, which enters an infinite loop within the parfor. This is on a 2-core MacBook Pro with 3.3 GHz Intel i7 processor. Running Matlab R2017b, but the same code seems to cause problems on a machine running R2019a.
k = 1e10;
tic
for i = 1:k
tan(i);
end
toc
parpool(2);
tic
parfor i = 1:k
tan(i);
end
toc
2 commentaires
lingyan yang
le 3 Jan 2021
is ther any updates I am encountering same issue with both matlab2019a and matlab 2020b. I am using particle swarm parallel setting, the optimization hangs in the middle of optimization, and won't continue untill i restart the system, very annoying
Nick
le 25 Mai 2021
Same with me. Particle swarm function on Matlab 2020b in parallel macbook with 6 cores.
DeepSea
le 15 Août 2021
I've been stucked in this problem for couples of weeks, and fixed it by removing "continue" in an if-judgement and a for-loop.
for CondA
...
if CondB
continue; % Avoid using "continue"
end
...
end
Catégories
En savoir plus sur Introduction to Installation and Licensing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!