我正在尝试使用别人的代码,其中包含以下内容:
if (m<100) || (matlabpool('size')==0)
我使用的是MATLAB R2016a,因此该命令失败。新版本中matlabpool('size')
的等价物是什么?
我知道matlabpool
已被parpool
取代。但是matlabpool('size')
具体做了什么?它实际上并没有创建并行工作者。
答案 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