替代matlabpool

时间:2017-01-24 11:53:18

标签: matlab parallel-processing

我正在尝试使用别人的代码,其中包含以下内容:

if (m<100) || (matlabpool('size')==0)

我使用的是MATLAB R2016a,因此该命令失败。新版本中matlabpool('size')的等价物是什么?

我知道matlabpool已被parpool取代。但是matlabpool('size')具体做了什么?它实际上并没有创建并行工作者。

1 个答案:

答案 0 :(得分:4)

根据change log

  已删除

matlabpool函数matlabpool函数已执行   除去。兼容性注意事项现在调用matlabpool   生成错误。您应该使用parpool创建一个   并行池。

matlabpool('size')完全符合您的预期:它会为您提供当前池的大小,即分配给它的工作人员数量。 gcp GetCurrentPool )为您完成此操作。它的文档是第一个例子:

p = gcp('nocreate'); % If no pool, do not create new one.
if isempty(p)
    poolsize = 0;
else
    poolsize = p.NumWorkers
end