Difference between simple matlabpool parfor and batch parfor.
12 views (last 30 days)
Show older comments
nah on 27 Jul 2012
I see a huge difference between apparently similar approaches and would like to understand what's happening and why the discrepancy.
I just created this M-file
A(i) = sin(i*2*pi/1024);
And tried to run it using 2 different approaches:
matlabpool open 100
%connected to 100 labs.
Elapsed time is 0.652927 seconds.
MaximumNumberOfWorkers : 101 MinimumNumberOfWorkers : 101 Elapsed time is 166.722475 seconds
My configuration is with 132 processors (workers) passing all the validatiions. connected to 100 labs.
With resource list parameter as : -l walltime=12:00:00 -l nodes=11:ppn=12
(i have a linux cluster with 12 nodes & 12 ppn , with shared file system)
Thanks in advance.
Edric Ellis on 31 Jul 2012
The amount of computation that your PARFOR loop contains is far too small to benefit from launching such a large matlabpool. Launching 100 workers and having them all set up communications etc. takes a long time - much longer than it takes for MATLAB to run the body of your FOR loop. You can only expect PARFOR to speed up your program when the amount of work to be done exceeds the overheads of setting up the workers and launching the parallel loop.
More Answers (0)
Find more on Cluster Configuration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!