我只是设置了一个特大型重型计算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个处理器!
答案 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