选择批处理功能
批处理工作流允许您将工作卸载到计算集群并释放您的 MATLAB® 客户端端来执行其他任务,或提交长时间运行的代码以供稍后执行。在批处理工作流中,您可以在作业处理时关闭 MATLAB 客户端会话,然后稍后或在新的客户端会话中从批处理作业中检索信息。
批处理并行作业类型
Parallel Computing Toolbox™ 将您想要离线执行的 MATLAB 代码打包成作业和任务。要了解有关 Parallel Computing Toolbox 如何运行作业的更多信息,请参阅 并行计算软件如何运行作业。
您可以在批处理工作流中运行两种类型的作业:
独立作业 - 由一个工作进程独立地执行任务,工作进程之间无通信。
通常,如果您的代码不需要并行池,那么您可以使用独立作业。
通信作业 - 一个工作进程充当客户端,其他工作进程运行非交互式池。工作进程在执行任务的过程中可以互相通信。
通常,如果您的代码调用需要并行池的函数(例如
parfor
、parfeval
、spmd
或distributed
),那么它就是一项通信作业。
Parallel Computing Toolbox 提供以下函数来在进程中运行您的 MATLAB 代码:
提示
为了以更简单的函数运行通信作业,请使用 batch
函数而不是 createCommunicatingJob
函数。
下图显示了何时使用 batch
和 createJob
函数。
选择批处理函数
要确定哪种批处理函数适合您,请查阅此表。
示例应用情形 | 函数与方法 | 示例 |
---|---|---|
您想在集群后台执行 MATLAB 脚本。 | 使用 | |
您想要使用现场或云集群上的非交互式池来运行包含以下一项或多项的代码:
| 将 | |
您有多个独立的 MATLAB 函数调用需要在集群后台运行。每个函数不需要并行的工作进程池。 | 使用 您可以为每个函数调用创建一个独立的任务。当一项任务完成后,工作进程就会转到列表中的下一个任务,而无需等待其他任务完成。您还可以访问已完成任务的中间结果。 |
另请参阅
batch
| createJob
| createCommunicatingJob
| createTask