主要内容

多个仿真工作流的比较

当运行一组多个模拟时,您可以在多个MATLAB上并行运行它们®工人在平行水池。要运行多个模拟,可以使用parsimparsim“RunInBackground”选项打开,或者batchsim

该流程图显示了如何运行多个模拟parsimparsimRunInBackground而且batchsim是不同的。

parsim而且batchsim命令使用并行计算工具箱™许可证并行运行模拟。parsim如果无法创建并行池或并行计算工具箱许可证不可用,则以串行方式运行模拟。batchsim没有并行计算工具箱许可证,命令不能运行。

parsim工作流

使用parsim命令使用并行计算工具箱运行多个模拟,将自动设置并行池并并行运行模拟。客户端总是绑定到MATLAB工作者。

基本parsim工作流

  1. 创建一个数组万博1manbetx仿真软件。SimulationInput对象,,以指定对模型的更改。

  2. 指定运行多个模拟所需的一次性设置。你可以使用SetupFcn而且TransferBaseWorkspaceVariables在并行工作机上执行设置。

  3. 运行parsim(中)并行执行这些多个模拟。如果不存在并行池,则parsim创建它。parsim使用默认设置。

  4. 属性可以打开模拟管理器“SimulationManager”参数“上”parsimparsim(“SimulationManager”,“上”).模拟管理器使您能够监视正在运行的模拟,并允许您在模拟准备就绪时访问模拟的输出。仿真管理器为您提供有关在工作线程上运行的模拟的信息。有关更多信息,请参见仿真管理器

  5. 一旦所有的模拟完成,您将得到一个数组万博1manbetx仿真软件。SimulationOutput对象。

限制

  • 关闭MATLAB会话将终止对工人的模拟,禁止检索部分结果。

parsimRunInBackground工作流

  1. 创建一个数组万博1manbetx仿真软件。SimulationInput对象,,以指定对模型的更改。

  2. 指定运行多个模拟所需的一次性设置。你可以使用SetupFcn而且TransferBaseWorkspaceVariables在并行工作机上执行设置。

  3. 运行parsimRunInBackground选项设置为“上”parsim(“RunInBackground”,“上”).设置“RunInBackground”选项“上”异步运行模拟。这使MATLAB命令提示符可用,使您能够处理其他任务。

  4. “RunInBackground”选项设置为“上”parsim返回一个万博1manbetxSimulink.Simulation.Future对象。您可以轮询此对象以检查模拟的状态,在模拟完成时获取模拟的输出,或取消模拟。有关更多信息,请参见万博1manbetxSimulink.Simulation.Future

限制

  • 关闭MATLAB会话将终止对工人的模拟,禁止检索部分结果。如果未来对象被清除后,您随后将无法访问模拟的结果。

  • 使用一个fetchNext方法循环开启未来对象,以及模拟管理器导致它们竞争检索未来对象。使用fetchNext方法循环或仿真管理器来获取已完成的模拟的输出。

batchsim工作流

批处理工作流通常意味着提交作业以在MATLAB工作者上运行模拟,然后访问这些模拟的结果。在批量运行模拟时,可以将模拟的执行卸载到计算集群上。要了解有关批处理的更多信息,请参见简单批处理(并行计算工具箱)

  1. 创建一个数组万博1manbetx仿真软件。SimulationInput对象,,以指定对模型的更改。

  2. 指定运行多个模拟所需的一次性设置。你可以使用SetupFcn而且TransferBaseWorkspaceVariables在并行工作机上执行设置。

  3. 要在集群或桌面后台运行,请调用batchsim卸载模拟的执行。与batchsim,您可以使用与parsim而且批处理命令。有关更多信息,请参见batchsim

    使用batchsim,您将模拟卸载到MATLAB工作人员。若要在多个工作者上运行批处理作业,请指定池大小,N,这是一个整数,指定要为该作业放入并行池的工人数量:batchsim(in, 'Pool', N).至少应该有N + 1集群上可用的worker。如果未指定池大小,则batchsim(中)在默认集群概要文件指定的集群中的单个工作上运行模拟。

    请注意

    batchsim如果并行计算工具箱许可证不可用,则与池大小一起使用时会出现错误。

  4. batchsim将模拟卸载到计算集群,使您能够在处理批处理作业时执行其他任务,或关闭客户端MATLAB并稍后访问批处理作业。

  5. 在提交批处理作业时,batchsim返回一个作业对象,其中包含作业ID和其他可用于稍后访问批处理作业的信息。再次访问此作业以检查模拟的进度。

限制

  • 因为客户端会话没有绑定到工人,所以除非作业完成,否则您无法访问输出。

  • batchsim不能让您使用模拟管理器监视模拟。对于批处理作业,您可以使用批处理作业监控器,它可以告诉您作业是在队列中、正在进行中还是已完成。有关更多信息,请参见监控工作(并行计算工具箱)

另请参阅

功能

工具

相关的话题