I'm getting an error when I try to use parpool (MATLAB 2018a)

7 views (last 30 days)
I'm trying to process some MRI data but the parpool function isn't working. I know there were some bugs in earlier versions of Matlab with macOS Sierra but this shouldn't be happening in the 2018a version?
Error using parpool (line 113) 'size' is not the name of a profile. Valid names are: 'local' 'MATLAB Parallel Cloud'
  2 Comments
Edric Ellis
Edric Ellis on 5 Apr 2018
What precise command are you using to try and create the parallel pool?
Agapi Dav
Agapi Dav on 30 Jul 2018
Hi! I have exactly the same problem with matlab R2018a.
Error using parpool (line 113) 'size' is not the name of a profile. Valid names are: 'local' 'MATLAB Parallel Cloud'
I use this command:
if true
% if(~parpool('size'))
parpool
end
end
Can someone help me? Thanks in advance!

Sign in to comment.

Accepted Answer

Agapi Dav
Agapi Dav on 31 Jul 2018
I think the problem is that the matlabpool was replaced by parpool. Therefore, matlabpool('size') is not valid anymore and parpool('size') does not do the job.
I found this quick fix here: https://github.com/RobotLocomotion/drake/issues/1009
try
if (matlabpool('size')==0) matlabpool; end
catch
if isempty(gcp('nocreate')) parpool; end
end
For me it worked. Cheers!
P.S. Thanks Ben, new here!
  1 Comment
Srishty Aggarwal
Srishty Aggarwal on 10 Sep 2022
when I use the command, I got the following error
Error using parpool (line 146)
Parallel pool failed to start with the following error. For more detailed information, validate the profile 'local'
in the Cluster Profile Manager.
Caused by:
Error using parallel.internal.pool.AbstractInteractiveClient>iThrowWithCause (line 305)
Failed to initialize the interactive session.
Error using parallel.internal.pool.AbstractInteractiveClient>iThrowIfBadParallelJobStatus (line 426)
The interactive communicating job failed with no message.
How to resolve it?

Sign in to comment.

More Answers (1)

Ben
Ben on 30 Jul 2018
If you look at the parpool docs I don't believe you're using a valid input with
parpool('size')
as the error says, and you actually want to use
parpool(2) %or whatever number of workers you want
Unless you want to make a non-local parpool. What are you trying to do?
  3 Comments
Agapi Dav
Agapi Dav on 31 Jul 2018
So, I had changed something, I forgot. I think the problem was that the matlabpool was replaced by parpool. Therefore, matlabpool('size') is not valid anymore and parpool('size') (as I was trying) does not do the job.
try
if (matlabpool('size')==0) matlabpool; end
catch
if isempty(gcp('nocreate')) parpool; end
end
For me it worked. Cheers!
Ben
Ben on 31 Jul 2018
Yeah, I see that matlabpool was removed in 2015a. If you don't need to support releases before 2015a, you don't need to use a try … catch and can just use parpool by itself (well, the if statement).
Also, you should write your solution in a new answer and accept it so that others with the same problem can see it :)

Sign in to comment.

Categories

Find more on Parallel Computing Fundamentals 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!