我已经使用命令matlabpool open 8
一段时间以加快速度。
但是我只是尝试使用它并且被拒绝了8个核心,现在限制为4个。
我的笔记本电脑是一款带有4核但超线程的i7,这意味着我没有任何问题让matlab在8个虚拟核心上工作。
同时我注意到以下警告信息:
Warning: matlabpool will be removed in a future release.
Use parpool instead.
似乎MathsWorks认为这是一个很好的更新,出于某种原因。
如何才能让我的代码再次在8个内核上运行?
注意:我使用的是R2010b(我认为),现在正在使用R2014b。
答案 0 :(得分:3)
看来@horchler在评论中为您提供了直接solution的问题。
但是,我建议坚持使用MATLAB建议的默认4名工作人员,而不是使用8.你不太可能通过移动到8来获得显着的加速,而你甚至可能会减慢一些速度。
你有四个物理核心,他们只能做很多工作。超线程使操作系统能够通过在虚拟核心对上完成交错操作来假装有8个核心。
这非常适用于Outlook等应用程序,它们不是计算密集型的,但需要按顺序同时显示大量操作,例如,在通过网络连接检查电子邮件时保持GUI响应。
但对于像MATLAB这样的计算密集型应用程序,它不会给你任何真正的加速,因为操作只是交错的 - 你没有增加4个真实的物理内核可以做的工作量。此外,执行超线程的开销很小。
根据我的经验,通过将超线程关闭,MATLAB将会受益匪浅。 (当然其他的东西,比如Outlook,不会:你的选择)。