MATLAB 的并行计算

MATLAB主要使用两个自带的工具箱来实现并行计算:

  • Parallel Computing Toolbox (PCT) 可用来在单台机器上利用多个CPU核心来并行计算
  • Distributed Computing Server (DCS) 可以在一个集群上跨机器运行任务

DCS需要根据集群的调度系统(如LSF)来设置一些配置参数,而且需要购买授权来使用。PCT无需授权可直接在单台机器上运行。使用者一般会在单台机器上用PCT来实现并行计算后,再用DCS来进行跨机器的扩展。

自R2013b起,MATLAB使用了新的parpool程序来替换原先的matlabpool程序,用来开启关闭多核计算,详见更新列表。而且从R2014a起,不再限制单台最多12个worker了,可以充分利用服务器多核的优势了。

使用parfor是最简单的一种使用MATLAB并行功能的方法,要求parfor循环中的程序文件可独立,不耦合。相关的用法可以参考这篇文章

使用PCT的过程中有时会遇到无法打开matlabpool的情况——Failed to locate and destroy old interactive jobs,通过查找解决方案,可以通过删除local scheduler data(或local cluster jobs)来解决。