Main Content

本页采用了机器翻译。点击此处可查看英文原文。

选择批处理功能

批处理工作流允许您将工作卸载到计算集群并释放您的 MATLAB® 客户端端来执行其他任务,或提交长时间运行的代码以供稍后执行。在批处理工作流中,您可以在作业处理时关闭 MATLAB 客户端会话,然后稍后或在新的客户端会话中从批处理作业中检索信息。

批处理并行作业类型

Parallel Computing Toolbox™ 将您想要离线执行的 MATLAB 代码打包成作业和任务。要了解有关 Parallel Computing Toolbox 如何运行作业的更多信息,请参阅 并行计算软件如何运行作业

您可以在批处理工作流中运行两种类型的作业:

  • 独立作业 - 由一个工作进程独立地执行任务,工作进程之间无通信。

    通常,如果您的代码不需要并行池,那么您可以使用独立作业。

  • 通信作业 - 一个工作进程充当客户端,其他工作进程运行非交互式池。工作进程在执行任务的过程中可以互相通信。

    通常,如果您的代码调用需要并行池的函数(例如 parforparfevalspmddistributed),那么它就是一项通信作业。

Parallel Computing Toolbox 提供以下函数来在进程中运行您的 MATLAB 代码:

提示

为了以更简单的函数运行通信作业,请使用 batch 函数而不是 createCommunicatingJob 函数。

下图显示了何时使用 batchcreateJob 函数。

Diagram shows the types of jobs in batch processing, and the different parallel language constructs you can use within each job type. For independent jobs, you can use the batch or createJob function. For communicating jobs, use the batch function with a Pool name-value argument.

选择批处理函数

要确定哪种批处理函数适合您,请查阅此表。

示例应用情形 函数与方法示例

您想在集群后台执行 MATLAB 脚本。

使用 batch 函数。这是将长时间运行的作业卸载到后台执行的最简单的方法。

将脚本作为批处理作业运行

您想要使用现场或云集群上的非交互式池来运行包含以下一项或多项的代码:

batch 函数与 Pool 名称-值参量一起使用。

运行批量并行作业

运行批处理作业并从工作进程访问文件

您有多个独立的 MATLAB 函数调用需要在集群后台运行。每个函数不需要并行的工作进程池。

使用 createJob 函数,并使用 createTask 函数添加任务。

您可以为每个函数调用创建一个独立的任务。当一项任务完成后,工作进程就会转到列表中的下一个任务,而无需等待其他任务完成。您还可以访问已完成任务的中间结果。

创建并运行作业

另请参阅

| | |

相关主题