并行 for 循环 (parfor
)
通过在并行池中的工作单元上运行
parfor
来使用并行处理 Parallel Computing Toolbox™ 支持交互式并行计算,使您能够通过在并行池中的多个工作单元上运行来加速工作流。使用 parfor
在并行池中的工作单元上并行执行 for
循环迭代。当您对代码进行了探查后发现 for
循环运行速度很慢时,请尝试使用 parfor
来增加吞吐量。在您的桌面上开发 parfor
循环并扩展到集群,而无需更改您的代码。
函数
主题
parfor
快速入门
- 决定何时使用 parfor
发现parfor
循环的基本概念,并决定何时使用它。 - 将 for 循环转换为 parfor 循环
诊断并修复常见的parfor
问题。 - 确保 parfor 循环迭代相互独立
与for
循环不同,parfor
循环迭代没有保证的顺序。 - 嵌套 parfor 和 for 循环以及其他 parfor 要求
了解如何处理并行嵌套循环。 - 排除 parfor 循环中的变量故障
发现parfor
循环中的变量要求和分类。
运行 parfor
循环
- 使用 parfor 以交互方式并行运行循环
将for
循环转换为可扩展的parfor
循环。 - 提高 parfor 性能
在parfor
循环内部或外部创建数组以加快代码速度。 - 在并行池上运行代码
了解如何启动和停止并行池、池大小以及并行环境的选择。 - 指定并行设置
调整并行设置,并自动创建并行池。 - 在 parfor 循环中使用对象和句柄
了解如何在parfor
循环中使用对象、句柄和分段变量。 - 确保 parfor 循环或 spmd 语句的透明度
parfor
循环中对变量的所有引用都必须在程序主体中可见。 - 在 parfor 循环中保存变量
此示例显示如何在save
循环中使用parfor
函数将一个或多个变量保存到文件中。 (自 R2024a 起) - 将 parfor 循环扩展到集群和云
在您的桌面上开发parfor
循环,并扩展到集群而无需更改您的代码。 - 使用 parfor 循环进行归约分配
您可以使用parfor
循环来计算每次迭代更新的累积值。 - 在 parfor 循环中重复随机数
通过为每次迭代分配特定的子流来控制parfor
循环中的随机数生成。 - 使用 parfor 加速蒙特卡罗代码
此示例显示如何使用parfor
循环来加速蒙特卡罗代码。蒙特卡罗方法应用于许多领域,包括物理学、数学、生物学和金融。蒙特卡罗方法涉及使用随机分布的输入多次执行一个函数。使用 Parallel Computing Toolbox™,您可以将for
循环替换为parfor
循环,从而轻松加快代码运行速度。 - 以交互方式并行导入和处理数据
此示例显示如何在交互式并行池中同时导入和处理数据。为了简化您的工作流,您可以在同一个并行池上重叠parfeval
和parfor
计算。 (自 R2023b 起)
深度学习
- 使用 parfor 训练多个深度学习网络 (Deep Learning Toolbox)
此示例说明如何使用parfor
循环对训练选项执行参数扫描。