MATLAB并使用多个内核来运行计算

时间:2010-07-21 03:38:35

标签: matlab multicore

嘿所有人。我试图弄清楚如何让MATLAB尽可能地运行。我有一台相当不错的新机器。

12GB RAM 酷睿i7 3.2Ghz Cpu 还有很多自由空间。 和强大的显卡。

然而,当我运行MATLAB的基准测试(命令工作台)时,它将计算机列为接近最差的计算机,围绕Windows XP单核1.7Ghz机器。

任何想法为什么以及如何改进这个?

非常感谢

3 个答案:

答案 0 :(得分:10)

首先,我建议重新运行bench命令几次,以确保MATLAB已完全加载所需的所有库等。很多MATLAB都是按需加载的,所以最好是第二次或第三次运行。

MATLAB在执行多线程的某些操作时会自动利用多个内核。例如,许多元素操作,例如+.*等,以及BLAS支持的操作(可能还有其他操作)。 This page列出了那些多线程的东西。

当MATLAB的内部多线程无法帮助时,并行计算工具箱很有用(如果可以,那么它通常是最快的做事方式)。这可以通过PARFORSPMDdistributed arrays为您提供明确的并行性。

答案 1 :(得分:2)

您需要Parallel Processing Toolbox。很多MATLAB函数都是多线程的,但要并行化自己的代码,你需要它。一个愚蠢的黑客是打开命令行MATLAB的几个实例。您也可以编写多线程MEX files,但正确的方法是购买并使用上述工具箱。

答案 2 :(得分:2)

这可能很明显,但请确保您已在首选项中启用了多线程计算(文件>首选项>常规>多线程)。在某些版本的MATLAB中,默认情况下不启用它。