更改调用约定以配置本地并行池

Changes in the calling convention to configure a local parallel pool

在早期版本的 Matlab 中(例如 2013A),我会使用 matlabpool 函数设置一个本地并行池。例如:

matlabpool('size') %To determine if a pool was already open

matlabpool(12) %To create a local pool of 12 workers

在较新版本的 Matlab (R2015A) 中,此命令已替换为 parpool

  1. 此更改是在哪个版本中进行的(对于多版本代码)
  2. 该命令的适当等效用法是什么?

看起来parpool是在R2014A(8.3)版本中引入的,而matlabpool是在R2015A版本(8.5)中删除的。请在此处查看 2014A 和 2015A 的平行工具箱说明:

http://www.mathworks.com/help/distcomp/release-notes.html

等效命令如下所示:

numWorkers = 12;
if verLessThan('matlab','8.3') %Pre-2014A code
    if matlabpool('size') == 0;  %Skip setup if a pool is already open
        matlabpool(numWorkers);
    end
else                           %2015A or later code
    if isempty(gcp('nocreate'))    %Skip setup if a pool is already open
        parpool('local',numWorkers);
    end
end