使用自动并行支持运行 MATLAB 函数
一些 MATLAB 和 Simulink 产品具有越来越多的函数和功能,可帮助您利用并行计算资源,而无需任何额外的编码。您可以通过简单地设置标志或首选项来启用此支持。
要在桌面上利用此功能,您需要 Parallel Computing Toolbox。使用本地工作单元并行运行计算以加快大型计算的速度。要将并行计算扩展到更大的资源(如计算机集群),您还需要一个 MATLAB Parallel Server 集群。
如果您设置使用并行选项,许多其他函数将自动并行运行。
当您运行启用了并行的函数时,MATLAB® 会自动打开一个并行工作单元池。MATLAB 会在可用的工作单元上运行计算。
自动并行支持使用默认集群配置文件启动并行工作单元池。如果您未更改并行设置,则默认配置文件为 Processes。使用并行设置控制并行行为,包括扩展到集群和自动创建池。
选择函数的并行运行方式
对于一些支持自动并行的 MATLAB 和 Simulink® 函数,您可以使用 UseParallel 名称-值参量来启用并行执行。UseParallel 名称-值参量接受 "off"、"auto" 或 "on" 值。您可以根据目标选择 UseParallel 参量的适当值。
| 目标 | 值 | 函数行为 |
|---|---|---|
您希望以串行方式运行代码以进行调试,或者因为任务无法从并行化中获益。 |
| 在 MATLAB 客户端上串行运行。 |
如果您有 Parallel Computing Toolbox™,则希望编写可自动使用并行池的可移植代码,并且即使没有 Parallel Computing Toolbox 也能运行。 |
| 如果有一个并行池打开,或者 MATLAB 可以自动创建一个,则自动使用并行池。否则,它将回退到 MATLAB 客户端上的串行执行。 |
您希望始终在并行池上运行。 |
| 如果有一个并行池打开,或者 MATLAB 可以自动创建一个,则自动使用并行池。否则会抛出错误。 |
查找自动并行支持
在函数页面上,查找扩展功能下的信息。
您可以通过以下链接浏览所有 MathWorks® 产品支持的函数:所有函数列表(自动并行支持)。或者,您也可以按产品进行过滤。在帮助栏上,点击函数选项卡,选择一个产品,然后选中自动并行支持复选框。例如,要查看所有支持自动并行的 Statistics and Machine Learning Toolbox™ 函数的过滤列表,请参阅函数列表(自动并行支持) (Statistics and Machine Learning Toolbox)。如果您选择的产品不具备自动并行支持函数,则自动并行支持过滤器不可用。
如果您感兴趣的函数不包含自动并行支持,这里有一些替代方案:
如果您有 GPU,许多 MATLAB 函数会在 GPU 上自动运行。请参阅在 GPU 上运行 MATLAB 函数。
For 循环内的任何 MATLAB 代码都可以变成并行 for 循环,只要迭代是独立的。请参阅
parfor。如果您正在寻找其他方法来加快处理速度或扩大大数据计算,请参阅选择并行计算解决方案。