主要内容

batchsim

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

描述

例子

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

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

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

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

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

例子

全部折叠

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

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

打开模型。

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

为不同的温度定义一组值。在这里,setPointValues是一个标准的温度范围。向量的长度帮助创建一个数组仿真软件。SimulationInput对象。

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

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

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

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

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

方法访问批处理作业的结果fetchOutputs方法。fetchOutputs方法从工作者检索结果,并返回一个数组仿真软件。SimulationOuput对象。

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

输入参数

全部折叠

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

例子:in = Simulink.SimulationInput('vdp')

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

名称-值参数

例子:“池”5

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

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

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

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

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

的集合指定为true或false日记

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

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

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

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

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

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

请注意

若要避免编译错误,请设置'LoadExternalInput“到”’或确保指定的外部输入在使用时可用buildRapidAcceleratorTarget

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

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

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

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

请注意

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

输出参数

全部折叠

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

扩展功能

版本历史

在R2018b中介绍

Baidu
map