如何为多个处理器设置matlabpool?

时间:2010-03-28 19:30:26

标签: matlab amazon-ec2 parallel-processing multicore

我只是设置了一个特大型重型计算EC2实例,将其抛给我的遗传算法问题,希望能加快速度。

此实例有8个Intel Xeon处理器(每个大约2.4Ghz)和7 GAG RAM。

在我的机器上,我有一个英特尔酷睿双核处理器,并且matlab能够通过runinng很好地使用我的两个内核:

matlabpool open 2

在EC2实例上,matlab只能检测到8个处理器中的1个,如果我尝试运行:

matlabpool open 8

我收到一条错误消息,说ClusterSize是1,因为我的CPU上只有1个核心。没错,每个CPU上只有1个核心,但我在给定的EC2实例上有8个CPU!

因此,与我的机器和ec2实例的不同之处在于,我在本地单个处理器上有2个内核,而EC2实例有8个不同的处理器。

我的问题是,如何让matlab与这8个处理器一起使用

我找到了this paper,但它似乎与设置多个EC2实例的matlab有关(与同一个实例上的多个处理器无关,EC2与否),这不是我的问题。

任何帮助表示赞赏!

注意:点不是EC2,我正在远程进入它并在其上运行matlab,就好像它是任何其他机器一样。关键是我无法让matlab看到8个处理器!

2 个答案:

答案 0 :(得分:7)

MATLAB没有看到所有8个核心。手动设置。并行菜单 - >管理配置。右键单击“本地”行。在“调度程序”选项卡中,将“可用于调度程序的工作程序数”设置为8.


原始答案是一个更详细的问题:

您是尝试在EC2(以及PC上的MATLAB用户界面)上使用MDCS,还是尝试在EC2上运行MATLAB的用户界面和PCT(通过ssh或vnc等)?

答案 1 :(得分:0)

这篇文章是为了回应原始海报问题的一部分而添加信息

[OP]我发现了这篇论文,但它似乎与设置多个EC2实例的matlab有关(与同一个实例上的多个处理器无关,EC2与否)...

上述论文不再可用

在其位置上,MathWorks为MATLAB用户提供了一种在Amazon EC2上运行MATLAB分布式计算服务器(MDCS)的集群上设置和分配计算的方法。有关详细信息,请访问: http://www.mathworks.com/ec2