多个仿真工作流的比较
当运行一组多个模拟时,您可以在多个MATLAB上并行运行它们®平行水池中的工人。要运行多个模拟,可以使用parsim
,parsim
与“RunInBackground”
选项已打开,或者batchsim
.
流程图显示了如何运行多个模拟parsim
,parsim
与RunInBackground
而且batchsim
是不同的。
的parsim
而且batchsim
命令使用并行计算工具箱™许可证并行运行模拟。parsim
如果无法创建并行池或并行计算工具箱许可证不可用,则以串行方式运行模拟。batchsim
没有并行计算工具箱许可证,命令不能运行。
parsim
工作流
使用parsim
命令使用并行计算工具箱运行多个模拟,自动设置并行池并并行运行模拟。客户端总是与MATLAB工作者捆绑在一起。
基本parsim
工作流
创建一个数组
仿真软件。SimulationInput
对象,在
,以指定对模型的更改。指定运行多个模拟所需的一次性设置。您可以使用
SetupFcn
而且TransferBaseWorkspaceVariables
在并行工作器上执行设置。运行
parsim(中)
以并行执行这些多个模拟。如果并行池不存在,parsim
创建它。parsim
使用默认设置。您可以通过设置打开模拟管理器
“SimulationManager”
参数“上”
与parsim
,parsim(“SimulationManager”,“上”)
.模拟管理器使您能够在模拟运行时监视模拟,并允许您在模拟就绪时访问模拟的输出。仿真管理器为您提供关于在工作人员上运行的模拟的信息。有关更多信息,请参见仿真管理器.一旦所有的模拟都完成了,您将得到一个数组
仿真软件。SimulationOutput
对象。
限制
关闭MATLAB会话将终止对工作者的模拟,禁用部分结果的检索。
parsim
与RunInBackground
工作流
创建一个数组
仿真软件。SimulationInput
对象,在
,以指定对模型的更改。指定运行多个模拟所需的一次性设置。您可以使用
SetupFcn
而且TransferBaseWorkspaceVariables
在并行工作器上执行设置。运行
parsim
与RunInBackground
选项设置为“上”
:parsim(“RunInBackground”,“上”)
.设置“RunInBackground”
选项“上”
异步运行模拟。这使MATLAB命令提示符可用,使您能够处理其他任务。与
“RunInBackground”
选项设置为“上”
,parsim
返回一个Simulink.Simulation.Future
对象。您可以轮询此对象以检查模拟的状态,在模拟完成时获取模拟的输出,或取消模拟。有关更多信息,请参见Simulink.Simulation.Future
.
限制
关闭MATLAB会话将终止对工作者的模拟,禁用部分结果的检索。如果
未来
对象被清除,您随后将无法访问模拟的结果。使用一个
fetchNext
方法循环未来
对象,以及仿真管理器使它们竞争检索未来
对象。使用一个fetchNext
方法循环或仿真管理器,以获得已完成的仿真的输出。
batchsim
工作流
批处理工作流通常意味着提交作业以在MATLAB工作者上运行模拟,然后访问这些模拟的结果。当您批量运行模拟时,您将模拟的执行卸载到计算集群上。要了解关于批处理的更多信息,请参见简单批处理(并行计算工具箱).
创建一个数组
仿真软件。SimulationInput
对象,在
,以指定对模型的更改。指定运行多个模拟所需的一次性设置。您可以使用
SetupFcn
而且TransferBaseWorkspaceVariables
在并行工作器上执行设置。要在集群或桌面后台运行,请调用
batchsim
卸载模拟的执行。与batchsim
,您可以使用大多数与之兼容的参数parsim
而且批处理
命令。有关更多信息,请参见batchsim
.使用
batchsim
,你把模拟任务交给MATLAB的工作人员。要在多个worker上运行批作业,请指定池大小,N
,这是一个整数,指定要为作业放入并行池的工人数量:batchsim(“池”,N)
.至少必须有N + 1
集群上可用的工作者。如果未指定池大小,则batchsim(中)
在默认集群配置文件指定的集群中的单个工作者上运行模拟。请注意
batchsim
如果并行计算工具箱许可证不可用,则在与池大小一起使用时出错。batchsim
卸载模拟到计算集群,使您能够在处理批作业时执行其他任务,或关闭客户端MATLAB并稍后访问批作业。在提交批处理作业时,
batchsim
返回一个作业对象,其中包含作业ID和其他信息,您可以稍后使用这些信息访问批处理作业。再次访问此作业以检查模拟的进度。
限制
因为客户机会话没有绑定到工作者,所以除非作业完成,否则您不能访问输出。
batchsim
并不能让您使用模拟管理器监视模拟。对于批处理作业,可以使用批处理作业监视器,它可以告诉您作业是排队、正在进行中还是已完成。有关更多信息,请参见监控工作(并行计算工具箱)
另请参阅
功能
parsim
|batchsim
|批处理
(并行计算工具箱)|parcluster
(并行计算工具箱)|getSimulationJobs
类
工具
相关的话题
- 运行多个模拟
- 使用parsim对一个房子的热模型进行并行模拟
- 运行并行模拟
- 使用仿真管理器分析结果
- 批处理(并行计算工具箱)