-->

如何并行4件作品与PARFOR与Matlab中一酷睿i3(How to parallel 4 wor

2019-08-17 02:09发布

我有Matlab的R2012b的Ubuntu 64位。 我有一个英特尔酷睿i3 CPU中号330 @ 2.13GHz的×4。

我想用PARFOR并行4路,在同一时间。 由于Intel酷睿i3拥有2个内核和4个线程我用这个代码:

if matlabpool('size') == 0 % checking to see if my pool is already open
    matlabpool(4)
else
    matlabpool close
    matlabpool(4)
end

我得到以下错误:

错误:

您要求最少4名工人,但集群“本地”有NumWorkers属性设置为允许最多2名工人。 上运行更多的工人比这个(最多可为本地群集最多12个)的连通工作,加大NumWorkers属性为集群的价值。 NumWorkers为本地集群的默认值是在本地机器上的内核数量。

为什么? NumWorkers的在我的机器的默认值是2,但如果我能同时做4个循环,我怎么得到它?

Answer 1:

为了增加默认NumWorkers ,打开群集配置文件管理器(Parallel->管理群集配置文件)。 挑选local配置文件,单击编辑,并增加NumWorkers最大可能值(在你的情况4)。 现在可以创建一个matlabpool比你的计算机上的物理内核更多的工人。

但是请注意,与具有相同数量的工人为核心使用更多的工人比芯可能导致性能下降。



Answer 2:

以编程方式更改的值NumWorkers从2到4个local群集配置文件,您可以使用 :

myCluster = parcluster('local');
myCluster.NumWorkers = 4;  % 'Modified' property now TRUE
saveProfile(myCluster);    % 'local' profile now updated,
                           % 'Modified' property now FALSE    


文章来源: How to parallel 4 works with PARFOR with a Core i3 in Matlab