您好,我在网上看过,但我似乎无法找到是否需要做任何事情才能使 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 循环),它当然会工作得更好
关于linux - Matlab 2011a 使用 64 位 Linux 上可用的所有内核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9191403/