对于包含大型模型引用层次结构的模型,可以通过并行构建引用模型来减少代码生成和编译时间。使用Parallel Computing Toolbox™软件,您可以跨MATLAB的并行池分发参考模型的代码生成和编译®工人。如果你也有MATLAB并行服务器™软件中,您可以将代码生成和编译分发给远程工作者MATLAB并行服务器配置。
并行构建引用模型:
打开模型层次结构的顶层模型的配置参数对话框。
选择启用并行模型引用构建复选框。
对于每个MATLAB worker,可以设置一个与客户端MATLAB环境一致的MATLAB环境。从用于构建的MATLAB工作者初始化下拉列表,选择其中一个值:
没有一个
——仿金宝app真软件®不初始化工作程序。
复制基本工作空间
——S金宝appimulink尝试将基本工作空间复制到每个MATLAB工作者。
负载顶级模特
——S金宝appimulink将顶部模型加载到每个MATLAB worker上。
从命令行或Simulink Editor Code透视图构建模型:金宝app
命令行——使用,例如,slbuild
.生成过程将在“命令窗口”中显示生成日志消息。
金宝appSimulink Editor Code透视图——单击构建按钮。构建过程将在诊断查看器中显示构建日志消息。
如果并行计算工具箱并行首选项自动创建并行池,则自动启动MATLAB workers并行池。有关更多信息,请参见指定并行首选项(并行计算工具箱).
如果在构建模型时MATLAB工作人员的并行池没有运行,那么MATLAB会使用默认的集群配置文件自动打开一个并行工作人员池。要更改工作集群的默认行为,您可以修改集群配置文件的属性。如果您还没有修改并行首选项,则默认配置文件为当地的
.使用并行首选项控制并行行为,包括扩展到集群、自动创建池和首选的工作人员数量。有关更多信息,请参见发现集群并使用集群配置文件(并行计算工具箱).
有关并行计算的更多通用信息,请参见运行MATLAB函数与自动并行支持金宝app(并行计算工具箱).
通过“生成状态”窗口,您可以:
查看模型层次结构的总体构建进度。
查看模型层次结构中各个模型的构建状态。
取消并行构建过程。
请注意
“构建状态”窗口仅支持模型层次结构的并行构建。金宝app不要使用“生成状态”窗口进行串行生成。
要打开“构建状态”窗口,请使用以下命令中的一个:
coder.buildstatus.open ('
模型
')
slbuild ('
模型
”,……“OpenBuildStatusAutomatically”,真的)
slbuild ('
模型
”、“StandaloneCoderTarget”,……“OpenBuildStatusAutomatically”,真的)
这个示例展示了如何监视模型层次结构的构建过程。在层次结构,rtwdemo_parabuild_a_1
参考文献rtwdemo_parabuild_b_1
,rtwdemo_parabuild_b_2
,rtwdemo_parabuild_b_3
.
将模型文件复制到本地文件夹。
src_dir =…fullfile (matlabroot“工具箱”,“环球套票”、“rtwdemos”);if exist(fullfile('.','myTempFolder'),'dir') rmdir('myTempFolder','s') end mkdir myTempFolder copyfile(fullfile(src_dir,'rtwdemo_parabuild_a_1.slx'),…“myTempFolder”);拷贝文件(fullfile (src_dir rtwdemo_parabuild_b_1.slx),…“myTempFolder”);拷贝文件(fullfile (src_dir rtwdemo_parabuild_b_2.slx),…“myTempFolder”);拷贝文件(fullfile (src_dir rtwdemo_parabuild_b_3.slx),…“myTempFolder”); cd myTempFolder
打开顶部模型。
open_system(“rtwdemo_parabuild_a_1”)
使用依赖项分析器查看模型依赖项。
在建模选项卡,单击向下箭头以展开设计画廊。下依赖关系,点击依赖分析仪.
开始模型层次结构的并行构建并打开“构建状态”窗口。
slbuild(‘rtwdemo_parabuild_a_1’,‘OpenBuildStatusAutomatically’,真的)
当代码生成器在模型层次结构中工作时,“构建状态”窗口将显示模型的总体构建进度和构建状态。
这个表格解释了状态列值。
状态 | 描述 |
---|---|
阻塞 |
代码生成器无法安排模型构建,因为构建被依赖项阻塞了。例如,子模型构建尚未完成。 |
计划 |
在并行构建中,当构建不被依赖项阻碍时,代码生成器会安排模型构建。模型构建的状态是 |
建筑 |
这个模型是建立在一个工人身上的。 |
完成 |
在没有错误的情况下构建模型时,状态更改为 |
错误 | 如果模型构建失败,状态将更改为 |
最新的 |
模型不需要代码生成,因为当前生成的代码是最新的。 |
取消 |
当你点击取消构建按钮时,构建过程将未完成构建的状态更改为 |
取消了 |
取消操作完成。 |
的运行时间列显示层次结构中模型的构建时间。为了减少总的构建时间,分析引用模型的构建时间以及模型依赖信息。然后,考虑,例如:
重构所引用的模型层次结构。
增加并行池中的工作程序数量。
slbuild
|coder.buildstatus.open
|coder.buildstatus.close