MATLAB调优加速

in MATLAB with 0 comment

并行计算

使用parfor进行并行计算,我的上一篇文章:MATLAB一些小技巧有提及关于parfor的注意点。

同时如果cpu内核多,记得调parallel pool workers的数量,默认是12,在你的设置和cpu内核数间取最小值。

设置图

把能放在循环外计算的放出来

合理使用嵌套函数(实现闭包)

如果合适,使用MemoizedFunction对你的函数进行缓存

如果可以,使用主频高的机器

不管是有没有并行,主频高速度真的快不少

关闭超线程技术

超线程技术会将你的内核虚拟出两个逻辑处理器,在普通的场景是有优势的,但是MATLAB不能够很好的适应这个情况,超线程将导致你的cpu只能发挥一半的性能。

尽量使用矩阵计算而不是循环

发挥你的数学能力,矩阵运算速度提升很大

多层嵌套循环注意是否有可以优化的内容

Responses