登录论坛

查看完整版本 : MATLAB的内置并行处理和分配给内核的效率如何?


poster
2019-12-10, 20:48
我打算购买一个工作站来运行我的matlab数据分析脚本。我计划将系统内存从6 GB增加到24 GB。我正在考虑应该购买6核处理器,双4核还是双6核。 (现在我有一个2核处理器)。

现在,我认为MATLAB的内置内存管理系统有很大的延迟。 (例如,一个函数将花费30秒才能执行,但是tic和toc会显示代码的最后一行在18秒时执行)。由于对大数据块进行算术处理,我也有一些延迟,但是我并没有做任何真正繁重的计算。

在这一点上,我不愿意/无法显式并行化我的代码。我知道有些人在MATLAB内部方面有丰富的经验,所以我希望有人可以指导我MATLAB如何有效利用多个内核。它将在与计算过程不同的线程中运行垃圾收集器吗?哪些操作会自动并行化?



回答:

按照Amro的建议,我查看了此MATLAB支持文档:

哪些MATLAB函数受益于多线程计算? (http://www.mathworks.com/support/solutions/en/data/1-4PG4AN/?solution=1-4PG4AN)

以及

如何选择最能优化MATLAB性能的计算机硬件? (http://www.mathworks.com/support/solutions/en/data/1-18C2A/index.html)



选择用于MATLAB®的硬件 (http://www.mathworks.com/products/matlab/choosing_hardware.html)

结果似乎是您的里程可能会有所不同。基本上,特定函数似乎是多线程的,并且列表是时间的变化函数。

现在,我将只获得单个六核处理器,因为两者之间存在巨大的价格差异,而且似乎似乎没有手动优化的多核处理器在速度方面存在限制。我将确保获得NVIDIA显卡,以便根据Mikhail的建议和matlab gpu文档 (http://www.mathworks.com/help/toolbox/distcomp/bsic3by.html) ,充分利用matlab对GPU操作的支持。



更多&回答... (https://stackoverflow.com/questions/4257916)