指定并行计算工具箱在. net应用程序
这个例子展示了如何使用MATLAB®运行时用户数据接口指定配置文件的并行计算工具箱™集群在. net应用程序。
更多细节,请参阅使用MATLAB运行时用户数据接口。
步骤1:写并行计算工具箱代码
创建
sample_pct.m
在MATLAB。这个示例代码使用的默认概要文件中定义的集群并行计算工具。
函数加速= sample_pct (n)警告从所有;抽搐如果(ischar (n)) n = str2double (n);结束为2 = 1:n (x (sin(魔法(n) +兰德(n, n))));结束time1 = toc;parpool;抽搐parfor2 = 1:n (x (sin(魔法(n) +兰德(n, n))));结束time2 = toc;disp ([“正常循环时间:num2str (time1)…,并行循环时间:num2str (time2)]);disp ([的并行加速:num2str (1 / (time2 / time1))…“倍正常”]);删除(gcp);disp (“完成”);加速= (time1 / time2);
运行函数的输入
400年
。= sample_pct (400)
下面是输出的一个例子,假设缺省概要文件集
当地的
:开始平行池(parpool)使用“本地”概要文件…连接到平行池(工人数量:6)。正常的循环时间:2.5651,并行循环时间:1.6371并行加速:1.5668倍正常平行池使用当地的概要文件被关闭。做答= 1.5668
第二步:设置并行计算工具箱
访问MATLAB运行时使用。net组件由用户数据接口MATLAB编译器SDK™,你必须设置mcruserdata
直接从MATLAB。没有Java®API来访问mcruserdata
像C和c++应用程序了MATLAB编译器SDK。
设置mcruserdata
从MATLAB,创建一个初始化
函数。这个单独的MATLAB函数使用setmcruserdata
设置并行计算工具箱概要文件一次。你然后调用其他函数,利用并行计算工具。
创建以下init_sample_pct
功能:
函数init_sample_pct%设置并行计算工具箱简介:如果(isdeployed)%让用户选择集群配置文件。[概要,profpath] = uigetfile (‘* .mlsettings‘);setmcruserdata (“ParallelProfile”fullfile (profpath));结束
现有的配置文件导出为一种.mlsettings
文件,使用parallel.exportProfile
(并行计算工具箱)函数。例如,
parallel.exportProfile (“本地”,“mylocalsettings”);
提示
如果你需要改变你的配置文件在应用程序中,使用parallel.importProfile
(并行计算工具箱)和parallel.defaultClusterProfile
(并行计算工具箱)。有关更多信息,请参见发现集群和集群配置文件使用(并行计算工具箱)。
第三步:编译功能
构建的。net组件库的编译器应用程序或compiler.build.dotNETAssembly
使用以下信息:
场 | 价值 |
---|---|
库名称 | netPctComp |
类名 | NetPctClass |
文件编制 | sample_pct.m 和init_sample_pct.m |
例如,如果您正在使用compiler.build.dotNETAssembly
类型:
buildResults = compiler.build.dotNETAssembly (…{“sample_pct.m”,“init_sample_pct.m”},…“AssemblyName”,“netPctComp”,…“名称”,“NetPctClass”);
更多细节,请参阅说明书生成net程序集和构建. net应用程序。
请注意
如果您正在使用GPU的并行计算工具箱,您必须手动添加PTX和铜文件。
如果您使用的是库编译器应用程序,点击添加文件/目录在构建选项卡。
如果您使用的是
compiler.build
功能,使用AdditionalFiles
选择。如果您正在使用
世纪挑战集团
命令,可以使用——一个
选择。
第四步:构建并运行. net应用程序
开放微软®Visual Studio®并创建一个c#控制台应用程序被称为DotNETPCT
。
为. net应用程序编写源代码访问MATLAB函数。
提供了一个示例c#应用程序对于这个示例如下。
使用系统;使用MathWorks.MATLAB.NET.Utility;使用MathWorks.MATLAB.NET.Arrays;使用netPctComp;名称空间PctNet{类程序{静态void Main (string [] args){尝试{NetPctClass =新NetPctClass ();/ /初始化设置PCT A.init_sample_pct ();双var = 400;MWNumericArray着干活;MWNumericArray in1 = new MWNumericArray (var);着干活= (MWNumericArray) A.sample_pct (in); Console.WriteLine("The speedup is {0}", out1); Console.ReadLine(); // Wait for user to exit application } catch (Exception exception) { Console.WriteLine("Error: {0}", exception); } } } }
请注意
这个示例代码是用写的微软Visual Studio2019年。
在Visual Studio中,添加一个引用程序集文件netPctComp.dll
位于文件夹生成或安装装配。
添加一个引用MWArray
API。
如果MATLAB是安装在您的系统上 |
|
如果MATLAB运行时在您的系统上安装吗 |
|
建立和运行DotNETPCT
在Visual Studio中的应用。
的DotNETPCT
应用程序提示您选择要使用的集群配置文件。在您选择的.mlsettings
文件,应用程序显示输出类似如下:
另请参阅
相关的话题
- 使用MATLAB运行时用户数据接口
- 发现集群和集群配置文件使用(并行计算工具箱)