主要内容

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

在可部署存档中使用并行计算资源

为了利用 Parallel Computing Toolbox™ 的资源,您可以将集群配置文件传递给部署到 MATLAB® Production Server™ 的 MATLAB 应用程序。

集群配置文件允许您定义集群的并行计算属性,例如有关 MATLAB 代码使用的集群的信息以及并行池中工作进程的数量。在 MATLAB 应用程序中创建集群、作业和任务对象时,可以应用这些属性。有关指定集群配置文件预设项的详细信息,请参阅指定并行设置 (Parallel Computing Toolbox)。要管理集群配置文件,请参阅发现集群并使用集群配置文件 (Parallel Computing Toolbox)

您还可以将使用并行语言命令的 MATLAB 函数打包到可部署的存档中,然后将存档部署到 MATLAB Production Server。有关创建和共享可部署存档的信息,请参阅针对 MATLAB Production Server 创建可部署存档将存档部署至 MATLAB Production Server

部署的 MATLAB 函数能够通过集群配置文件管理器或导出的配置文件找到并行集群文件。

使用集群配置文件管理器中可用的配置文件

当您将 MATLAB 函数打包到可部署存档中时,集群配置文件管理器中可用的所有配置文件默认在存档中可用。当您不希望配置文件在部署后发生变化时,此选项很有用。

链接到导出的配置文件

如果您希望集群配置文件发生变化,则可以先导出集群文件,然后在 MATLAB 代码中以编程方式加载配置文件,或者使用 --user-data MATLAB Production Server 配置属性。要导出集群配置文件,请参阅导入和导出集群配置文件 (Parallel Computing Toolbox)

使用 MATLAB 代码加载配置文件

要在 MATLAB 函数中加载导出的配置文件,请使用 parallel.importProfile (Parallel Computing Toolbox)。例如,以下示例代码导入一个配置文件并使用导出的配置文件创建集群对象。

clustername = parallel.importProfile('ServerIntegrationTest.settings');
cluster = parcluster(clustername);

使用服务器配置属性加载配置文件

要使用 MATLAB Production Server 配置属性加载导出的配置文件,请设置 --user-data 属性以传递代表导出的配置文件的键值参数。将键设置为 ParallelProfile,将值设置为导出的集群文件的路径,后跟配置文件名。例如,要加载名为 ServerIntegrationTest.settings 的配置文件,请按如下方式设置属性:

--user-data ParallelProfile /sandbox/server_integration/ServerIntegrationTest.settings

如果您使用命令行来管理仪表板,请编辑 main_config 服务器配置文件以指定 --user-data 属性。如果您使用仪表板来管理 MATLAB Production Server,请使用 Settings 选项卡中的 Additional Data 字段来指定 --user-data 属性。

您提供给 --user-data 属性的集群配置文件将自动设置为默认值。因此,您的 MATLAB 代码不必明确加载它,您可以按如下方式使用默认集群:

cluster = parcluster();

在可部署存档中重用现有并行池

以下示例使用 gcp (Parallel Computing Toolbox) 来检查是否存在并行工作进程池。如果不存在池,它会使用 parpool (Parallel Computing Toolbox) 创建一个由 4 个工作进程组成的池。

pool = gcp('nocreate');
if isempty(pool)
    disp("Creating a myCluster")
    parpool('myCluster', 4);
else
    disp('myCluster pool already exists')
end

限制

使用并行计算的可部署存档不能与其他可部署存档共享并行池。

另请参阅

(Parallel Computing Toolbox) | (Parallel Computing Toolbox) | (Parallel Computing Toolbox) | (Parallel Computing Toolbox)

主题