Tya*_*ers -1 parallel-processing matlab
我正在尝试使用其他人的代码,其中包含以下行:
if (m<100) || (matlabpool('size')==0)
Run Code Online (Sandbox Code Playgroud)
我正在使用MATLAB R2016a,因此此命令失败。matlabpool('size')
在新版本中相当于什么?
我知道matlabpool
被取代parpool
。但是matlabpool('size')
具体做什么呢?它实际上并没有创建并行工作器。
根据更改日志:
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
Run Code Online (Sandbox Code Playgroud)