主要内容

batchsim

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

描述

例子

simJob= batchsim (类中指定的输入在单个工作上运行批处理作业以模拟模型SimulationInput对象,

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

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

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

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

例子

全部折叠

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

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

打开模型。

openExample ('金宝app仿真软件/ OpenTheModelExample ');open_system (“ex_sldemo_househeat”);load_system (“ex_sldemo_househeat”

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

setPointValues = 65:2:85;spv_Length = length(setPointValues);

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

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

指定要使用的工作人员数量的池大小。除了用于并行运行模拟的工作人员数量外,还需要一个主要工作人员。在本例中,让我们假设有三个工作人员可以为并行模拟运行批处理作业。作业对象返回有用的元数据,如所示。你可以利用这份工作ID稍后从任何机器访问作业对象。NumWorkers告诉你有多少工人在运行模拟。NumWorkers中是否始终指定工人的数量“池”参数和一个额外的工头。

simJob = batchsim(in,“池”,3)
ID: 1类型:pool NumWorkers: 4用户名:#####状态:running SubmitDateTime: ##-###-#### ##:##:## StartDateTime:运行时长:0天0h 0m 0s

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

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

输入参数

全部折叠

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

例子:in = 金宝appSimulink.SimulationInput('vdp')

集群对象,用于指定批作业在其中运行的集群。

名称-值参数

例子:“池”5

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

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

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

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

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

的集合指定为true或false日记

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

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

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

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

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

指定一个函数处理“SetupFcn”在模拟开始之前,每个工作人员运行一次。

请注意

buildRapidAcceleratorTarget用于SetupFcn并且模型有指定的外部输入,或者set 'LoadExternalInput'或确保指定的外部输入在worker上可用,以防止编译错误。

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

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

TransferBaseWorkspaceVariables设置为真正的,模型中使用的变量和基本工作空间中定义的变量被转移到并行工作空间。

请注意

使用TransferBaseWorkspaceVariables需要模型编译。

UseFastRestart设置为真正的,模拟运行在工人使用快速重启。

请注意

当使用batchsim,使用UseFastRestart选项,而不是FastRestart选择。看到从快速重启开始获取更多信息。

输出参数

全部折叠

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

扩展功能

在R2018b中引入