主要内容

batchsim

卸载模拟以在计算集群上运行

描述

例子

simJob= batchsim (属性中指定的输入在单个工作人员上运行批处理作业来模拟模型SimulationInput对象

simJob= batchsim (myCluster在由集群对象标识的集群上运行批处理作业myCluster.如果没有指定集群配置文件,batchsim使用在并行首选项中设置的默认集群配置文件。有关更多信息,请参见发现集群并使用集群配置文件(并行计算工具箱)

simJob=batchsim(。。。,名称,值属性中指定的输入运行模拟模型的批处理作业SimulationInput对象和指定的选项名称,值对。

batchsim将模拟任务卸载到计算集群,使您能够在批处理作业正在处理时执行其他任务,或关闭客户机MATLAB®并在稍后访问批处理作业。使用“池”参数并行运行模拟。

batchsim命令使用并行计算工具箱™和MATLAB并行服务器™在计算集群上运行模拟的许可证。batchsim如果无法创建并行池,则以串行方式运行模拟。如果并行计算工具箱许可证不可用,batchsim错误了。

例子

全部折叠

这个例子展示了如何在批处理中运行并行模拟。batchsim将模拟任务卸载到计算集群,使您能够在批处理作业正在处理时执行其他任务,或者关闭客户机MATLAB并在稍后访问批处理作业。

本示例使用ex_sldemo_househeat建立模型并批量运行模拟,以观察模型在不同温度设定值下的行为。

打开模型。

openExample (“金宝appsimulink/OpenTheModelSample”);open_system (“ex_sldemo_househeat”);加载系统(“ex_sldemo_househeat”

为不同的温度定义一组值。

setPointValues = 65:2:85;spv_Length =长度(setPointValues);

使用setPointValues,初始化数组金宝app仿真软件。SimulationInput对象。

(1: spv_Length) =仿真金宝app软件。SimulationInput (“ex_sldemo_househeat”);spv_Length in(i) = in(i).setBlockParameter(“ex_sldemo_househeat /设置点”...“价值”num2str (setPointValues(我)));结束

指定要使用的工作线程数的池大小。除了用于并行运行模拟的工作线程数之外,还需要一个主管工作线程。在这种情况下,假设有三个工作线程可用于并行模拟运行批处理作业。作业对象返回有用的元数据,如图所示。您可以使用该作业ID以后从任何计算机访问作业对象。NumWorkers告诉你有多少工人在运行模拟。NumWorkers工人的数量是否总是在“池”争论和额外的负责人。

simJob=batchsim(在,“池”3)
ID: 1类型:pool NumWorkers: 4用户名:#####状态:running SubmitDateTime: ##-###-#### ##:##:##:## StartDateTime: running Duration: 0 days 0h 0m 0s

使用访问批处理作业的结果fetchOutputs方法。fetchOutputs返回一个金宝app仿真软件。SimulationOuput对象。

= fetchOutputs (simJob)
1 x11金宝app仿真软件。模拟Output array

输入参数

全部折叠

指定为一个金宝app仿真软件。SimulationInput对象或数组金宝app仿真软件。SimulationInput对象,该对象用于指定对模型进行模拟的更改。

例子:在= Si金宝appmulink.SimulationInput (vdp)

Cluster对象,用于指定运行批处理作业的群集。

名称-值对的观点

例子:“池”5

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

指定为字符向量,单元阵列或字符向量数组,以定义路径,添加到MATLAB搜索路径的工人模拟执行之前。在worker上的默认搜索路径可能与客户机上的不一样;路径差异可能是由于不同的当前工作文件夹(pwd)、平台或网络文件系统访问造成的。“AdditionalPaths属性可以确保工作人员在正确的位置查找必要的代码文件、数据文件、模型文件等。

指定为要附加到并行池的附加文件的单元格数组。

指定为true或false,以控制是否将客户端路径上用户添加的条目添加到每个工作路径。

指定为true或false,以控制代码文件是否自动附加到作业。

指定为真或假,以指示集合日记

指定一个函数处理“CleanupFcn”在模拟完成后对每个worker运行一次。

指定从客户端会话复制到工作人员的环境变量的名称。这里指定的名称附加在EnvironmentVariables属性,以形成完整的环境变量列表。列出的未设置的任何变量都不会复制给工作人员。这些环境变量将在批处理作业期间设置在工作人员上。

ManageDependencies被设置为“上”,模型依赖项会在必要时自动发送给并行工作程序。如果ManageDependencies被设置为“关闭”,显式地将模型依赖项附加到并行池。

一个整数,指定要放入作业并行池的工作器数量除了到运行批处理作业本身的工作者。模拟使用这个池执行。因为池除了运行批处理的worker之外还需要N个worker,所以集群上必须至少有N+1个worker可用。

用于识别集群的集群配置文件的名称。如果省略此选项,则使用默认概要文件来标识集群,并应用于作业和任务属性。

指定一个函数处理“设置FCN”在模拟开始之前对每个worker运行一次。

请注意

buildRapidAcceleratorTarget用于SetupFcn并且该模型具有指定的外部输入,任何一组'LoadExternalInput”到“'或确保指定的外部输入对工作人员是可用的,以防止编译错误。

设置为“上”,将命令窗口中的模拟进度复制到日记属于金宝appSimulink.Simulation.Job对象。当设置为时,进度将被隐藏“关闭”

设置“StopOnError”“上”如果遇到错误,将停止模拟的执行。

TransferBaseWorkspaceVariables被设置为符合事实的,模型中使用的变量和在基本工作空间中定义的变量被转移到并行工作人员。

请注意

使用TransferBaseWorkspaceVariables需要编译模型。

UseFastRestart被设置为符合事实的,模拟运行在工人使用快速重启。

请注意

当使用batchsim,可以使用UseFastRestart选项,而不是FastRestart选择。看到开始快速重启为更多的信息。

输出参数

全部折叠

一个包含已提交批处理作业的元数据的对象。使用作业对象的ID轮询作业对象,以检查模拟状态或在作业完成时访问输出。

扩展功能

介绍了R2018b