Warning: Could not launch SMPD process manager. Using fallback parallel mechanism.

4 views (last 30 days)
The script is as follows:
Lambdass = [0.0001, 0.001, 0.01, 0.1, 1, 10, 100, 1000];
numcores = feature('numcores'); % get the number of cpu cores
num_slices = floor(length(Lambdass)/numcores); % get the number of slices for parallel computing
if mod(length(Lambdass), numcores)~=0
num_slices = num_slices + 1;
end
for slice_i=1:num_slices
if slice_i~=num_slices
Lambdas = Lambdass(((slice_i-1)*numcores+1):((slice_i)*numcores));
else
Lambdas = Lambdass(((slice_i-1)*numcores+1):end);
end
myparpool = parpool(length(Lambdas))
parfor li = 1:length(Lambdas)
%spmd
lambda = Lambdas(li);
save_path1 = sprintf('results/lambda_%f/', lambda);
if ~exist([save_path1, '/fs_results.mat'], 'file')
do_something_and_save_results(lambda, save_path1);
end
end
delete(myparpool)
end
This script could be run correctly in one computer, but in another computer, the `parfor` seems to not work correctly and there are some warning information as follows, and the `parfor` finally runs without parallel mode, just seems the `for` in sequential. Could anyone help give some advice, please?
Starting parallel pool (parpool) using the 'local' profile ... Warning: Could not launch SMPD process manager. Using fallback parallel mechanism.
> In SmpdGateway>SmpdGateway.canUseSmpd at 81
In Local.hSubmitCommunicatingJob at 15
In CJSCommunicatingJob>CJSCommunicatingJob.submitOneJob at 81
In Job.Job>Job.submit at 302
In InteractiveClient>InteractiveClient.start at 327
In Pool.Pool>iStartClient at 537
In Pool.Pool>Pool.hBuildPool at 434
In parpool at 104
  3 Comments
None
None on 23 Jan 2015
Edited: None on 23 Jan 2015
Hi, Edric, the results of "feature('numcores')" is:
>> feature('numcores')
MATLAB detected: 4 physical cores.
MATLAB detected: 8 logical cores.
MATLAB was assigned: 8 logical cores by the OS.
MATLAB is using: 4 logical cores.
MATLAB is not using all logical cores because hyper-threading is enabled.
ans =
4
And the OS is Ubuntu 12.04 (64 bit).
I've tried the same script in another computer whose OS is also Ubuntu 12.04 (64 bit), but with just 2 cores (Intel E7400 processor). The script could run in parallel.
But in this computer which has 4 cores (Intel i7 processor), the script couldn't run in parallel, but in sequential. I'm not sure if some configuration may have an effect with it. But I always config the two computers with the same software environment in spite of the different hardware configuration.
And the parallel validation results are as follows:
VALIDATION DETAILS
Profile: local
Scheduler Type: Local
Stage: Cluster connection test (parcluster)
Status: Passed
Description:Validation Passed
Command Line Output:(none)
Error Report:(none)
Debug Log:(none)
Stage: Job test (createJob)
Status: Passed
Description:Validation Passed
Command Line Output:(none)
Error Report:(none)
Debug Log:(none)
Stage: SPMD job test (createCommunicatingJob)
Status: Passed
Description:Validation Passed
Command Line Output:
[Warning: Could not launch SMPD process manager. Using fallback parallel mechanism.]
[> In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+apishared/SmpdGateway.m',81,1)">SmpdGateway>SmpdGateway.canUseSmpd at 81</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+cluster/@Local/hSubmitCommunicatingJob.m',15,1)">Local.hSubmitCommunicatingJob at 15</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+job/CJSCommunicatingJob.m',81,1)">CJSCommunicatingJob>CJSCommunicatingJob.submitOneJob at 81</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/@Job/Job.m',302,1)">Job.Job>Job.submit at 302</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',529,1)">Validator>iCreateAndSubmitJob at 529</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',258,1)">Validator>Validator.runJobStage at 258</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',207,1)">Validator>Validator.runValidationStages at 207</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',104,1)">Validator>Validator.validate at 104</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+ui/ValidationManager.m',45,1)">ValidationManager>ValidationManager.validate at 45</a>]
Error Report:(none)
Debug Log:(none)
Stage: Pool job test (createCommunicatingJob)
Status: Passed
Description:Validation Passed
Command Line Output:
[Warning: Could not launch SMPD process manager. Using fallback parallel mechanism.]
[> In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+apishared/SmpdGateway.m',81,1)">SmpdGateway>SmpdGateway.canUseSmpd at 81</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+cluster/@Local/hSubmitCommunicatingJob.m',15,1)">Local.hSubmitCommunicatingJob at 15</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+job/CJSCommunicatingJob.m',81,1)">CJSCommunicatingJob>CJSCommunicatingJob.submitOneJob at 81</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/@Job/Job.m',302,1)">Job.Job>Job.submit at 302</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',529,1)">Validator>iCreateAndSubmitJob at 529</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',258,1)">Validator>Validator.runJobStage at 258</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',207,1)">Validator>Validator.runValidationStages at 207</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',104,1)">Validator>Validator.validate at 104</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+ui/ValidationManager.m',45,1)">ValidationManager>ValidationManager.validate at 45</a>]
Error Report:(none)
Debug Log:(none)
Stage: Parallel pool test (parpool)
Status: Passed
Description:Validation Passed
Command Line Output:
[Warning: Could not launch SMPD process manager. Using fallback parallel mechanism.]
[> In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+apishared/SmpdGateway.m',81,1)">SmpdGateway>SmpdGateway.canUseSmpd at 81</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+cluster/@Local/hSubmitCommunicatingJob.m',15,1)">Local.hSubmitCommunicatingJob at 15</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+job/CJSCommunicatingJob.m',81,1)">CJSCommunicatingJob>CJSCommunicatingJob.submitOneJob at 81</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/@Job/Job.m',302,1)">Job.Job>Job.submit at 302</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+pool/InteractiveClient.m',327,1)">InteractiveClient>InteractiveClient.start at 327</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/@Pool/Pool.m',537,1)">Pool.Pool>iStartClient at 537</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/@Pool/Pool.m',434,1)">Pool.Pool>Pool.hBuildPool at 434</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',639,1)">Validator>iOpenPoolForCluster at 639</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',326,1)">Validator>@()iOpenPoolForCluster(cluster) at 326</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',328,1)">Validator>Validator.runInteractivePool at 328</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',219,1)">Validator>Validator.runValidationStages at 219</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+validator/Validator.m',104,1)">Validator>Validator.validate at 104</a>
In <a href="matlab: opentoline('/usr/local/MATLAB/R2014b/toolbox/distcomp/cluster/+parallel/+internal/+ui/ValidationManager.m',45,1)">ValidationManager>ValidationManager.validate at 45</a>]
connected to 4 workers.
Parallel pool using the 'local' profile is shutting down.
hAwaitWorkerCompletion on job 4 completed with result 1 in 2.851000e-03 seconds.
Error Report:(none)
Debug Log:(none)
Meng-Yuan Huang
Meng-Yuan Huang on 29 Feb 2016
I solved this problem: "Warning: Could not launch SMPD process manager. Using fallback parallel mechanism."
I found a file named ".smpd" in my home directory. Its file mode is 700. I changed it to 600 by chmod or deleted it, restarted MATLAB, and the SMPD problem was solved. I don't know what happen. (My MATLAB version is R2015b.)

Sign in to comment.

Answers (0)

Categories

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!