主要内容

利用并行计算工具箱在部署的应用程序中

使用并行计算Toolbox™的应用程序可以使用MATLAB中的群集配置文件®首选项文件夹。要查找此文件夹,请使用预迪尔

例如,当您创建独立应用程序时,所有可用的配置文件集群配置文件管理器将在应用程序中可用。

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

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

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

导出群集配置文件

将群集配置文件导出到外部文件:

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

  2. 在里面集群配置文件管理器对话框,选择一个配置文件,然后管理部分,单击出口

链接到并行计算工具箱代码中的个人资料

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

要为应用程序设置群集配置文件,您可以使用setmcruserdata功能。

由于您的MATLAB首选项文件夹与您的应用程序捆绑在一起,因此文件夹中的任何相对链接都将始终工作。在您的应用程序代码中,您可以使用myClusterProfile.mlsettings在MATLAB首选项文件夹中找到的文件。

mpsettingspath = fullfile(prefdir,'myclusterprofile.mlsettings');setmcruserdata(“平行封面”,mpsettingspath);
功能完整的给出外部文件的绝对路径。由mpsettingspath必须是绝对路径。如果您的应用程序的用户在其文件系统上的绝对路径上的群集配置文件将不会更改,请直接链接到它:
mpsettingspath ='/path/to/myclusterprofile.mlsettings';setmcruserdata(“平行封面”,mpsettingspath);
如果为您的应用程序中心管理集群配置文件,这是一个很好的做法。如果您的应用程序的用户具有本地持有的群集配置文件,则可以从当前工作目录中扩展相对路径:
mpsettingspath = fullfile(pwd,'../rel/path/to/myclusterprofile.mlsettings');setmcruserdata(“平行封面”,mpsettingspath);
如果您的独立应用程序的用户应提供自己的群集配置文件,这是一个很好的做法。您在编译时添加到应用程序中的任何文件都添加到MATLAB搜索路径中。因此,您还可以捆绑使用应用程序外部持有的群集配置文件。首先,使用哪个获取通往群集配置文件的绝对路径。然后,链接到它。
mpsettingspath ='myclusterprofile.mlsettings');setmcruserdata(“平行封面”,mpsettingspath);
最后,在命令行中编译并添加群集配置文件。
MCC-一个/path/to/myclusterprofile.mlsettings-mmyapp.m;
请注意,要在编译之前运行应用程序,必须手动添加/路径/到/到您的MATLAB搜索路径。

经过并行计算工具箱运行时间的个人资料

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

myApp -mcruserdata ParallealProfile:/path/to/myclusterprofile.mlsettings

请注意,当您使用setmcruserdata在您的代码中功能,您覆盖了-mcruserdata旗帜。

在部署应用程序中的群集配置文件之间切换

当您使用setmcruserdata功能,您可以删除使用群集配置文件管理器中使用的任何配置文件的功能。重新启用概要文件的使用集群配置文件管理器, 使用平行文件。

mpsettingspath ='/path/to/myclusterprofile.mlsettings';setmcruserdata(“平行封面”,mpsettingspath);%一些应用程序代码origetSettingspath = fullfile(prefdir,'Parallel.mlsettings');setmcruserdata(“平行封面”,OrigetStingsPath);%更多申请代码

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

你可以打电话给mcruserdata在构建的C和C ++应用程序中的本地功能MATLAB编译器SDK™

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

也可以看看

|

相关话题