MATLAB Answers

Unable to set NumThreads when creating a job

9 views (last 30 days)
Kevin
Kevin on 12 Feb 2018
Edited: Edric Ellis on 16 Feb 2018
I seem to be unable to set NumThreads when creating a job:
>> sge = parcluster('sge');
>> class(sge)
'parallel.cluster.Generic'
>> sge.NumThreads
1
>> job = sge.createJob('NumThreads',4);
>> class(job)
'parallel.job.CJSIndependentJob'
>> job.NumThreads
1
I'm able to set the other job properties just fine by passing arguments to createJob(). For now, my workaround is to modify the parallel.cluster.Generic object before creating the job:
>> sge.NumThreads = 4;
>> job = sge.createJob();
>> job.NumThreads
4
Is this a bug? Or am I doing this wrong?
I am using the Parallel Computing Toolbox with MATLAB R2017a.

Accepted Answer

Edric Ellis
Edric Ellis on 16 Feb 2018
Edited: Edric Ellis on 16 Feb 2018
Thanks for reporting this - it does indeed look like a bug. I'll forward this report to the appropriate team here at MathWorks.
To expand a little on this - NumThreads is only intended to be configurable on a per-cluster basis rather than a per-job basis. So, in this case, probably the createJob call should reject your attempt to set NumThreads on the job.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!