代码之家  ›  专栏  ›  技术社区  ›  JohnIdol

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

  •  8
  • JohnIdol  · 技术社区  · 14 年前

    我只是设置了一个超大型的重计算EC2实例来处理我的遗传算法问题,希望能加快速度。

    这个实例有8个Intel Xeon处理器(每个大约2.4GHz)和7 Gigs的RAM。

    在我的机器上,我有一个Intel Core Duo,Matlab可以用我的两个内核运行:

    matlabpool open 2
    

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

    matlabpool open 8
    

    我得到一个错误,说clustersize是1,因为我的CPU上只有1个核心。是的,每个CPU上只有一个核心,但是在给定的EC2实例上我有8个CPU!

    因此,与我的机器和EC2实例的区别在于,我在一个本地处理器上有两个核心,而EC2实例有8个不同的处理器。

    我的问题是, 如何让Matlab与这8个处理器一起工作? ?

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

    感谢您的帮助!

    注释 :这不是EC2,我正在远程处理它,并在上面运行matlab,就像它是其他机器一样。重点是我不能让matlab看到8个处理器!

    2 回复  |  直到 10 年前
        1
  •  7
  •   DaveWalend    14 年前

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


    最初的答案是一个获得更多细节的问题:

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

        2
  •  0
  •   GSh    10 年前

    这篇文章是为了回答原版海报的一部分问题而增加信息。

    [op]我找到了这篇文章,但它似乎与设置多个EC2实例的matlab有关(与同一个实例上的多个处理器无关,EC2与否)。

    上述文件已不可用

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