主要内容

使用并行计算工具箱在已部署应用程序中

使用并行计算工具箱™的应用程序可以使用MATLAB中的集群概要文件®选择文件夹。要找到此文件夹,请使用prefdir

例如,当您创建一个独立的应用程序时,默认情况下,您的集群配置文件管理器将在应用程序中可用。

应用程序还可以使用外部文件中给出的集群配置文件。为了让你的应用程序使用这个文件,你可以:

  1. 链接到代码中的文件。

  2. 在运行时传递文件的位置。

导出集群配置文件

使用实例导出集群配置文件到外部文件。

  1. 在“Home”选项卡中环境部分中,选择平行>管理集群配置文件

  2. 集群配置文件管理器对话框,选择一个概要文件,然后在管理部分中,点击出口

链接到并行计算工具箱代码中的配置文件

要使应用程序能够使用外部文件中给出的集群配置文件,可以从代码中链接到该文件。在本例中,您将使用绝对路径、相对路径和MATLAB搜索路径链接到集群概要文件。注意,由于每个链接都是在编译之前指定的,所以必须确保每个链接都不会更改。

要为应用程序设置集群配置文件,可以使用setmcruserdata函数。

由于MATLAB首选项文件夹是与应用程序捆绑在一起的,因此到文件夹内文件的任何相对链接都将始终有效。在应用程序代码中,可以使用myClusterProfile.mlsettings在MATLAB首选项文件夹中找到的文件如下所示:

mpSettingsPath = fullfile(predir,“myClusterProfile.mlsettings”);setmcruserdata (“ParallelProfile”, mpSettingsPath);
这个函数fullfile给出外部文件的绝对路径。给出的论证mpSettingsPath必须为绝对路径。如果你的应用程序的用户在他们的文件系统上有一个不会改变的绝对路径的集群配置文件,直接链接到它,如下所示:
mpSettingsPath =“/道路/ / myClusterProfile.mlsettings”;setmcruserdata (“ParallelProfile”, mpSettingsPath);
注意,如果集群概要文件是为您的应用程序集中管理的,这是一个很好的实践。如果你的应用程序的用户有一个本地保存的集群配置文件,你可以从当前工作目录展开一个相对路径到它,如下所示:
mpSettingsPath = fullfile(pwd,“. . / rel /道路/ / myClusterProfile.mlsettings ');setmcruserdata (“ParallelProfile”, mpSettingsPath);
注意,如果您的独立应用程序的用户应该提供他们自己的集群配置文件,那么这是一个很好的实践。属性添加的任何文件——一个在使用世纪挑战集团添加到MATLAB搜索路径中。因此,您还可以将集群概要文件与外部的应用程序捆绑在一起。首先,使用哪一个获取集群配置文件的绝对路径。然后,链接到它。
mpSettingsPath = which(“myClusterProfile.mlsettings”);setmcruserdata (“ParallelProfile”, mpSettingsPath);
最后,在命令行上编译并添加集群概要文件。
世纪挑战集团——一个/ / myClusterProfile.mlSettings /路径- mmyApp.m
注意,要在编译之前运行应用程序,需要手动添加/ /路径到你的MATLAB搜索路径。

通过并行计算工具箱运行时的概要

如果您的应用程序的用户myApp具有在运行时选择的集群配置文件,您可以在命令行中指定此配置文件。

myApp -mcruserdata ParallelProfile:/path/to/myClusterProfile.mlsettings

注意,当您使用setmcruserdata函数的使用,则重写-mcruserdata国旗。

在部署的应用程序中切换集群概要文件

当你使用setmcruserdata功能,则删除了使用集群配置文件管理器中可用的任何配置文件的能力。中配置文件的使用集群配置文件管理器,使用parallel.mlSettings文件。

mpSettingsPath =“/道路/ / myClusterProfile.mlsettings”;setmcruserdata (“ParallelProfile”, mpSettingsPath);%一些应用程序代码origSettingsPath = fullfile(predir,“parallel.mlsettings”);setmcruserdata (“ParallelProfile”, origSettingsPath);%更多应用程序代码

加载集群配置文件的C代码示例

mxArray *key = mxCreateString("ParallelProfile");mxArray *value = mxCreateString("/path/to/myClusterProfile.mlsettings");如果(!setmcruserdata(key, value)) {fprintf(stderr, "无法设置MCR用户数据:\n %s ", mclGetLastErrorMessage());返回1;}