linux - Matlab 2011a 使用 64 位 Linux 上可用的所有内核?

标签 linux multithreading matlab 64-bit

您好,我在网上看过,但我似乎无法找到是否需要做任何事情才能使 matlab 使用所有内核的答案?据我所知,自 2007 年以来就支持多线程。在我的机器上,matlab 仅使用一个核心 @100%,其余的卡在 ~2%。我使用的是 64 位 Linux (Mint 12)。在我的另一台只有 2 个内核且是 32 位 Matlab 的计算机上,似乎正在使用两个内核 @100%。并非所有时间,但在足够数量的情况下。在 64 位、4 核 PC 上,这永远不会发生。

我是否必须在 64 位中做任何事情才能使 Matlab 尽可能使用所有内核?安装后我不得不做一些自定义链接,因为 Matlab 找不到库(例如 libc.so.6),因为它没有在正确的位置查找。

最佳答案

按照标准,自最新版本以来,您可以使用 Parallel Computing Toolbox 使用 12 个内核。没有这个工具箱,我猜你就不走运了。 MATLAB 分布式计算服务器 可以访问任何额外的核心,您实际上需要为工作线程数付费。

要让 matlab 使用你必须做的多核

matlabpool open

当然,如果你有多线程代码(比如使用 spmd 函数或 parfor 循环),它当然会工作得更好

更多信息 at the Matlab homepage

关于linux - Matlab 2011a 使用 64 位 Linux 上可用的所有内核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9191403/

相关文章:

linux - 通过 bash 脚本检查服务是否正在运行

c++ - std::condition_variable_any 的 libc++ 实现

matlab - Matlab 中的 Newton-Raphson 方法

linux - docker 覆盖网络是否支持从主机到容器的通信?

linux - 通俗地说,Mac OS、Ubuntu、Linux、Unix有什么区别?

c# - 检测网络流上正在进行的写操作

multithreading - Clojure go block 中的线程/ sleep

matlab - 如何使字体可用于 Matlab R2013a 中的 LaTeX 解释器?

arrays - 以向量化方式将两个维度为 5 的数组相乘

linux - 编写 awk 命令打印至少有一个字段的每一行