1

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。

4

1 回答 1

3

看起来@horchler 在评论中为您提供了直接的解决方案

但是,我建议坚持使用 MATLAB 建议的默认 4 个工作器,而不是使用 8 个。移动到 8 不太可能显着加快速度,甚至可能会减慢速度。

你有四个物理核心,它们只能做这么多的工作。超线程使操作系统能够通过交错在成对的虚拟内核上执行的操作来假装有 8 个内核。

这对于诸如 Outlook 之类的应用程序来说非常有用,这些应用程序不是计算密集型的,但需要大量操作同时出现,例如,在通过网络连接检查电子邮件时保持 GUI 响应。

但是对于 MATLAB 等计算密集型应用程序,它不会给你任何真正的加速,因为操作只是交错的——你没有增加 4 个真实的物理内核可以做的工作量。此外,执行超线程的开销很小。

以我的经验,MATLAB 将通过关闭超线程来稍微受益。(当然其他东西,比如 Outlook,不会:你的选择)。

于 2015-03-30T09:35:30.480 回答