中使用并行计算优化工具箱
使用多核处理器并行计算
如果你有一个多核处理器,你可以通过使用并行处理来提高处理速度。你可以用并行计算工具箱™许可证建立一个由几个工作者组成的并行池。有关并行计算工具箱软件的描述,请参见开始使用并行计算工具箱(并行计算工具箱)。
假设你有一个双核处理器,并且想要使用并行计算。在命令行输入以下代码。
parpool
MATLAB®使用多核处理器启动一个工人池。如果你之前设置了一个非默认的集群配置文件,你可以通过输入这个代码强制多核(本地)计算。
parpool (“本地”)
请注意
根据你的喜好,MATLAB可以自动启动并行池。要启用此功能,请选择平行>平行喜好在环境集团在首页选项卡,然后选择自动创建并行池。
设置求解器选项以使用并行计算。
选择= optimoptions ('solvername”、“UseParallel”,真正的);
当你运行一个适用的求解器选项
,适用的求解器自动使用并行计算。
要停止并行计算优化,请设置UseParallel
来假
。要停止所有并行计算,请输入此代码。。
删除(gcp)
请注意
文档建议不要使用parfor
或parfeval
当调用仿真软件®;看到在parfor中使用sim函数(模型)。因此,在使用求解器内置的并行功能并行优化Simulink模拟时,可能会遇到问题。
使用多处理器网络并行计算
如果网络上有多个处理器,请使用并行计算工具箱函数和MATLAB并行服务器™建立并行计算的软件。
确保您的系统配置适合并行计算。请与系统管理员联系,或参考并行计算工具箱文档。
通过输入此代码执行基本检查,其中
教授
是您的集群配置文件。parpool(教授)
工作人员必须能够访问您的目标函数文件,以及(如果适用的话)您的非线性约束函数文件。完成以下步骤中的一个以确保访问权限:
把文件分发给使用
parpool
(并行计算工具箱)AttachedFiles
论点。在这个例子中,objfun.m
你的目标函数文件,和constrfun.m
是您的非线性约束函数文件。parpool (“AttachedFiles”, {“objfun.m”,“constrfun.m”});
工作人员可以访问自己的文件副本。
给你的目标或约束函数文件一个网络文件路径。
pctRunOnAll(“目录network_file_path”)
工作人员通过网络访问函数文件。
检查文件是否在every worker的路径上。
pctRunOnAll (',文件名”)
文件名没有找到。
设置求解器选项以指定使用并行计算。这个论点“solvername”
表示支持并行求值的非线性求解器。
选择= optimoptions (“solvername”,“UseParallel”,真正的);
在你建立了你的并行计算环境后,适用的求解器会自动使用并行计算,只要你用选项
。
要停止并行计算优化,请设置UseParallel
来假
。要停止所有并行计算,请输入此代码。。
删除(gcp)
请注意
文档建议不要使用parfor
或parfeval
当调用仿真软件;看到在parfor中使用sim函数(模型)。因此,在使用求解器内置的并行功能并行优化Simulink模拟时,可能会遇到问题。
测试并行计算
按照以下步骤来测试你的问题是否能正确并行地运行。
在没有并行计算的情况下尝试你的问题,以确保它串行运行。在进行下一个测试之前,确保这个测试是成功的(给出正确的结果)。
集
UseParallel
来真正的
,并确保通过进入不存在并行池删除(gcp)
。要确保MATLAB没有创建并行池,请选择平行>平行喜好在环境集团在首页Tab,然后清除自动创建并行池。你的问题是parfor
串行的,以反向的顺序进行循环迭代为
循环。在进行下一个测试之前,确保这个测试是成功的(给出正确的结果)。集
UseParallel
来真正的
,并创建一个并行池使用parpool
。除非您有多核处理器或网络设置,否则此测试不会提高处理速度。。这种测试只是为了验证计算的正确性。
记住调用你的求解器使用选项
测试或使用并行功能的参数。