Matlab之设定运行内核数量函数——parpool

电脑配置高,内核数多,可以设定参与Matlab运行的内核数,从而提高程序运行效率。下面主要介绍三种设定内核数的语法,函数parpool在较高版本可以使用。

一、语法

parpool(resources)
parpool(resources,poolsize);   % 设置并行池数量

delete(gcp('nocreate'));       % 完成计算,关闭并行池

二、三种类型

parpool('Processes',6);
parpool('local',6);
parpool('threads');

三、示例

runtimes = 1e9;
dummy1   = 0;

% 正常运行不添加parpool,不在群集上创建并行池

tic
for x= 1:runtimes
    dummy1 = dummy1 + x;
    dummy2 = 2 * x + 1;
end
toc
figure();
plot([1 2], [dummy1, dummy2]);


% 12核:Processes
parpool('Processes',12);

tic
parfor x= 1:runtimes
    dummy1 = dummy1 + x;
    dummy2 = 2 * x + 1;
end
toc

figure();
plot([1 2], [dummy1, dummy2]);

delete(gcp('nocreate')); % 完成计算,关闭并行池


% 12核:local
parpool('local',12);

tic
parfor x= 1:runtimes
    dummy1 = dummy1 + x;
    dummy2 = 2 * x + 1;
end
toc

figure();
plot([1 2], [dummy1, dummy2]);

delete(gcp('nocreate')); % 完成计算,关闭并行池


% threads,采用预设页的优选内核数

parpool('threads');

tic
parfor x= 1:runtimes
    dummy1 = dummy1 + x;
    dummy2 = 2 * x + 1;
end
toc

figure();
plot([1 2], [dummy1, dummy2]);

delete(gcp('nocreate')); % 完成计算,关闭并行池

你可能感兴趣的:(#,Matlab基础内容,matlab,parpool,并行池)