Main Content

自定义示例插件脚本的行为

使用通用调度器接口时,您可以通过使用 AdditionalProperties 设置通用集群配置文件或对象的附加属性来修改插件脚本的行为。有关通用调度器接口的更多信息,请参阅使用通用调度器接口进行配置

其他属性

示例插件脚本允许您设置这些属性。

所有调度程序的属性

属性描述数据类型

AdditionalSubmitArgs

用于作业提交的附加调度器参数。示例插件脚本将此属性的值添加到调度器提交字符串。

String

AuthenticationMode

用于指示您连接到集群时如何进行身份验证的选项,指定为以下之一:

  • "Agent" - 客户端与在客户端计算机上运行的 SSH 代理进行交互。

  • "IdentityFile" ——客户端使用 IdentityFile 附加属性指定的身份文件。

  • "Multifactor" ——客户端会提示您输入一次或多次。例如,如果客户端上启用了双因素身份验证 (2FA),则客户端会请求您的密码和第二个身份验证因素的响应。

  • "Password" - 客户端提示您输入 SSH 密码。您的用户名由 Username 附加属性指定。

String

String array

ClusterHost

具有用于提交作业的调度器程序实用程序的集群机器的主机名。如果您的集群无法直接向调度器提交作业,请使用此功能。

集群机器必须运行 Linux。

String

DisplaySubmitArgs

用于显示提交作业时传递给调度器的作业提交标志和选项的选项。标志和选项显示在命令行上。

Logical

IdentityFile

在集群主机上识别您的 SSH 身份文件的客户端计算机机器的位置。

String

String array

IdentityFileHasPassphrase

选择使用密码作为身份文件。如果 IdentityFile 需要密码,则将此属性设置为 true

Logical

RemoteJobStorageLocation

在集群上存储作业文件的位置。如果您的客户端和集群节点没有共享文件系统,请使用此属性。

String

SSHPort

SSH 连接的集群主机端口号。使用此属性设置通过 SSH 连接的集群主机上的端口。

Double

UseIdentityFile

使用身份文件的选项。如果您想使用 SSH 身份文件登录到集群主机,请将此属性设置为 true。如果设置此属性,则也设置 IdentityFileIdentityFileHasPassphrase

Logical

Username

登录集群主机的用户名。

String

UseUniqueSubfolders

选择使用唯一子文件夹。如果您希望 MATLAB® 根据用户名和 MATLAB 版本将作业文件存储在不同的子文件夹下,请将此属性设置为 true这样做有助于防止不同用户和 MATLAB 版本提交的作业之间发生冲突。

Logical

每个调度器的特定属性

 仅适用于 Slurm 的属性

 仅适用于 LSF 的属性

 仅适用于 Grid Engine 系列的属性

 仅适用于 PBS 的属性

 仅适用于 HTCondor 的属性

 仅适用于 AWS Batch 的属性

设置其他属性

您可以使用集群配置文件管理器或以编程方式在集群配置文件中设置其他属性。

在群集配置文件中设置属性

当您在集群配置文件中设置附加属性时,每次使用集群时都会应用这些属性。

  • 在 MATLAB 工具条的主页选项卡上的环境区域中,选择并行 > 创建和管理集群

  • 在集群配置文件管理器中,点击要修改的通用配置文件。

  • 点击右下角的编辑

  • 转到 AdditionalProperties 表。

  • 要添加新属性,请点击添加。要修改现有属性,请点击该属性。

下图显示了为 LSF® 集群配置文件设置 AdditionalSubmitArgs 的示例。

Cluster Profile Manager with the LSF profile selected. The properties for the cluster are shown in the right panel. The Additional Properties entry is being edited.

通过编程设置属性

您可以通过访问通用集群对象的 AdditionalProperties 以编程方式设置附加属性。请注意,此操作不会更新集群配置文件,并且属性仅适用于该特定集群对象。以下是如何为 LSF 集群设置 AdditionalSubmitArgs 的示例。

首先,使用 parcluster 函数创建一个集群对象。在以下代码中,将 MyLSFCluster 更改为您的集群配置文件的名称。

c = parcluster("MyLSFCluster");

接下来,设置 AdditionalSubmitArgs,以便插件脚本使用不同的作业队列。

c.AdditionalProperties.AdditionalSubmitArgs = '-q matlab_queue';

通过此更改,当您提交作业时,MATLAB 会将附加参数传递给调度器。例如提交批处理作业。

job = batch(c,"myScript");

有关使用 AdditionalProperties 在运行时修改插件脚本功能的其他示例,请参阅添加用户自定义 (Parallel Computing Toolbox)

相关主题