主要内容

通过使用并行构建减少引用模型的构建时间

对于包含大型模型参考层次结构的模型,您可以通过并行构建引用模型来减少代码生成和编译时间。使用并行计算工具箱™软件,您可以跨MATLAB的并行池分发引用模型的代码生成和编译®工人。如果你也有MATLAB并行服务器™软件中,您可以将代码生成和编译分布到您的MATLAB并行服务器配置。

并行构建引用模型

并行构建参考模型:

  1. 打开模型层次结构的顶层模型的Configuration Parameters对话框。

  2. 选择启用并行模型引用构建复选框。

  3. 对于每个MATLAB工作者,可以设置一个与客户端MATLAB环境一致的MATLAB环境。从构建的MATLAB工作器初始化下拉列表,选择其中一个值:

    • 没有一个——仿真软件®不初始化工人。

    • 复制基本工作空间——Simulink试图将基本工作区复制到每个MATLAB工作者。

    • 负载顶级模特——Simulink将顶级模型加载到每个MATLAB worker上。

  4. 从命令行或Simulink编辑器代码透视图构建模型:

    • 命令行——例如,使用slbuild.生成过程在“命令窗口”中显示生成日志消息。

    • Simulink Editor Code透视图——单击构建按钮。构建过程在诊断查看器中显示构建日志消息。

      如果是并行计算工具箱的并行首选项自动创建并行池时,自动启动MATLAB工作者的并行池。有关更多信息,请参见指定并行首选项(并行计算工具箱)

      如果在构建模型时MATLAB工作线程的并行池没有运行,MATLAB会使用默认的集群配置文件自动打开一个并行工作线程池。要更改工作集群的默认行为,可以修改集群配置文件的属性。如果您没有使用并行首选项,则默认配置文件为当地的.使用并行首选项控制并行行为,包括扩展到集群、自动创建池和首选工作人员数量。有关更多信息,请参见发现集群并使用集群概要文件(并行计算工具箱)

      有关并行计算的更多一般信息,请参见运行MATLAB函数与自动并行支持(并行计算工具箱)

监控参照模型的并行构建

通过“生成状态”窗口,您可以:

  • 查看模型层次结构的整体构建进度。

  • 查看模型层次结构中各个模型的构建状态。

  • 取消并行构建过程。

请注意

“构建状态”窗口只支持模型层次结构的并行构建。不要将“生成状态”窗口用于串行生成。

要打开“构建状态”窗口,使用以下行命令之一:

  • coder.buildstatus.open ('模型”)

  • slbuild ('模型”,……“OpenBuildStatusAutomatically”,真的)

  • slbuild ('模型”、“StandaloneCoderTarget”,……“OpenBuildStatusAutomatically”,真的)

这个例子展示了如何监视模型层次结构的构建过程。在层次结构,rtwdemo_parabuild_a_1参考文献rtwdemo_parabuild_b_1rtwdemo_parabuild_b_2,rtwdemo_parabuild_b_3

  1. 将模型文件复制到本地文件夹。

    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

  2. 打开顶层模型。

    open_system(“rtwdemo_parabuild_a_1”)

  3. 使用Dependency Analyzer查看模型依赖关系。

    建模选项卡中,单击向下箭头以展开设计画廊。下依赖关系,点击依赖分析仪

  4. 开始并行构建模型层次结构,并打开Build Status窗口。

    slbuild(‘rtwdemo_parabuild_a_1’,‘OpenBuildStatusAutomatically’,真的)

    当代码生成器在模型层次结构中工作时,Build Status窗口显示了模型的整体构建进度和构建状态。

这个表格解释了状态列值。

状态 描述

阻塞

代码生成器无法安排模型构建,因为构建被依赖项阻塞了。例如,子模型构建未完成。

计划

在并行构建中,当构建没有被依赖项阻塞时,代码生成器将调度模型构建。模型构建的状态为计划直到有一个并行池工作器可用。

建筑

这个模型是建立在一个工人身上的。

完成

当没有错误地构建模型时,状态更改为完成

错误

如果模型构建失败,则状态更改为错误

最新的

模型不需要代码生成,因为当前生成的代码是最新的。

取消

当您单击取消构建按钮,则构建过程将未完成构建的状态更改为取消

取消了

取消操作完成。

运行时间列显示层次结构中模型的构建时间。为了减少总构建时间,分析引用模型的构建时间以及模型依赖信息。然后,举个例子:

  • 重构引用的模型层次结构。

  • 增加并行池中的工作人员数量。

另请参阅

||

相关的话题

Baidu
map