主要内容

金宝app性能顾问检查

金宝appPerformance Advisor检查概述

使用Performance Advisor检查可以改善模型模拟时间。

另请参阅

使用性能顾问提高仿真性能

基线

在performance Advisor实现改进之后,建立一个度量来比较模拟的性能。

另请参阅

创建一个性能顾问基线测量

需要更新图的检查

这些检查要求更新图发生以运行。

另请参阅

使用性能顾问提高仿真性能

需要模拟运行的检查

为了收集足够的性能数据,这些检查需要模拟运行。Performance Advisor在模拟完成后报告结果。

另请参阅

使用性能顾问提高仿真性能

检查模拟模式设置

这些检查评估模拟模式(正常、加速、快速加速、快速加速和最新检查关闭),并确定实现最快模拟的最佳模式。

另请参阅

什么是加速度?

检查编译器优化设置

使用这些检查来选择编译器优化设置以提高性能。

另请参阅

编译器优化级别

检查硬件加速设置

使用检查来比较基于仿真时间的三种硬件加速选项。

另请参阅

硬件加速

创建基线

选择此检查以在Performance Advisor运行时创建基线。您还可以手动创建基线。基线是在performance Advisor中运行检查之前对模拟性能的测量。基线包括运行模拟的时间和模拟结果(记录的信号)。在为模型创建基线之前,请使用数据导入/导出窗格中的“配置参数”对话框:

  • 选择复选框。

  • 设置格式参数结构随时间变化

另请参阅

创建一个性能顾问基线测量

确定资源密集型诊断设置

为了提高模拟速度,尽可能禁用诊断。例如,一些诊断,如求解器数据不一致超出数组边界,在模拟期间产生运行时开销。

另请参阅

检查优化设置

为了提高模拟速度,尽可能启用优化。例如,如果某些优化(如块减少)被禁用,则启用这些优化以提高模拟速度。

您还可以通过设置编译器优化级别来权衡编译时速度和模拟速度。编译器加速优化在默认情况下是禁用的。启用它们会加速模拟运行,但会导致更长的构建时间。用于加速和快速加速模式的C编译器的速度和效率也会影响编译步骤所需的时间。

另请参阅

识别低效的查找表块

要提高模拟速度,请使用正确配置的查找表块。

另请参阅

检查MATLAB系统块仿真模式

一般来说,为了提高仿真速度,选择代码生成模拟使用参数。MATLAB系统块。因为MATLAB之间的数据交换®和仿真软金宝app件®通过几个软件层,解释执行通常会降低模拟速度,特别是当模型需要进行大量数据交换时。

这个检查确定哪些MATLAB系统块可以生成代码和更改模拟使用参数值为代码生成在可能的情况下。

代码生成不支持所有的MAT金宝appLAB函数,它支持的MATLAB语言子集是广泛的。通过使用这个代码生成,可以提高性能。

另请参阅

识别解释MATLAB函数块

要提高仿真速度,请替换MATLAB解释函数块与MATLAB函数在可能的地方设置块。因为MATLAB和Simulink之间的数据交换要经过几个软件层,金宝appMATLAB解释函数块通常使模拟变慢,特别是当模型需要很多数据交换时。

此外,由于不能编译MATLAB解释函数,一个MATLAB解释函数阻止使用加速模式加速模拟的尝试。

MATLAB函数块不支持所有的MATLAB函金宝app数,它支持的MATLAB语言子集是广泛的。通过将解释的MATLAB代码替换为仅使用这个可嵌入的MATLAB子集的代码,可以提高性能。

另请参阅

识别模拟目标设置

为了提高模拟速度,尽可能禁用模拟目标设置。例如,在“配置参数”对话框中,清除模拟目标>不带分号的回声表达式复选框可提高模拟速度。

另请参阅

检查模型参考重建设置

若要提高模拟速度,请在“配置参数”对话框中验证模型参考>重建参数设置为如果检测到任何已知依赖项的变化

另请参阅

识别作用域块

打开和未注释的作用域块会影响模拟性能。为了提高模拟性能,关闭并注释掉Scope块。右键单击作用域块,然后选择注释掉

对于打开的作用域,您可以通过减少更新来提高模拟速度。从范围来看模拟菜单中,选择减少更新以提高性能

另请参阅

识别模型上的活动检测设置

识别模型上的活动检测设置。定点检测模式控制在模拟过程中哪些对象记录最小、最大和溢出数据。使用定点工具收集模拟范围需要使用仪器。这些范围用于为模型提出数据类型(需要定点设计器™)。当您没有主动将模型转换为定点时,禁用定点检测以恢复模型的最大模拟速度。

应用程序选项卡上,选择定点的工具.下设计中的系统,点击继续

在“模型层次结构”窗格中,定点工具表示当前已开启检测的系统(mmo),或(o).右键单击模型层次结构中的系统定点检测模式中,选择使用本地设置力了

另请参阅

检查模型参考并行构建

为了改进仿真,验证模型中引用模型的数量。如果有两个或更多的引用模型,尽可能并行地构建模型。

Performance Advisor会分析模型并估计当前计算机上的构建时间,就像它使用几个核心一样。它还估计模型的并行构建时间,其方法与并行计算工具箱™或MATLAB并行服务器电脑上安装了软件。Performance Advisor执行此评估的方法如下:

  1. 在模型中搜索不引用其他引用模型的引用模型。

  2. 计算每个引用模型中不引用其他引用模型的平均块数。

  3. 在不引用其他模型的参考模型列表中,选择一个块数最接近计算平均值的参考模型。

  4. 构建此模型以获得构建时间。

  5. 基于块的数量和这个引用模型的构建时间,估计所有其他引用模型的构建时间。

  6. 基于这些构建时间,估计顶部模型的并行构建时间。

要计算并行构建机制引入的开销时间,请设置并行构建开销时间估计因子。Performance Advisor计算估算的构建时间和开销如下:

(1 +并行构建开销时间估计因子)*(单机上的构建时间)

另请参阅

检查延迟块循环缓冲区设置

要改进模拟,请检查每一个延迟块在模型中使用适当的缓冲区类型。默认情况下,块使用数组缓冲区对状态使用循环缓冲区选项未选中)。然而,当延迟长度较大时,循环缓冲区可以通过保持复制操作的数量恒定来提高执行速度。

如果延迟block当前正在使用数组缓冲区,并且以下所有条件都为真,则Performance Advisor选择一个循环缓冲区:

  • 延迟块处于基于样本的模式,即输入处理参数设置为作为通道的元素(基于示例),或将输入信号类型设置为基于样本

  • 延迟长度的取值或上限不小于10。

  • 状态的大小等于延迟长度乘以所有输出信号宽度的总和,为1000或更大。

另请参阅

检查连续和离散速率耦合

如果您的模型同时包含离散速率和连续速率,则这些速率之间的耦合可能会降低模拟速度。Performance Advisor在模型中检查这些条件。

  • 该模型使用了一个变步长求解器。

  • 该模型同时包含连续速率和离散速率。

  • 最快的离散速率相对小于最大步长由求解器决定。

设置DecoupledContinuousIntegration参数可能会加速模拟。

另请参阅

检查过零对持续集成的影响

如果你的模型包含不影响连续积分的过零点,当满足以下所有条件时,模拟速度可能会变慢:

  • 该模型使用了一个变步长求解器。

  • 该模型包含具有连续状态和过零的块。

  • 一些过零不影响连续状态的积分。

设置MinimalZcImpactIntegration参数可能会加速模拟。

另请参阅

检查驱动衍生端口的离散信号

如果您的模拟有许多不必要的重置,则运行此检查。驱动具有连续状态的块的离散信号在块的每次采样时间命中时触发复位。这些重置在计算上是昂贵的。Performance Advisor检查这些信号和块,并提供相同的列表。

您可以围绕已发现的驱动这些块的离散信号编辑模型,以去除此类情况。例如,插入一个零阶保持器块之间的离散信号和相应的块与连续状态可能有助于解决问题。

另请参阅

检查解算器类型选择

为了改进模拟,检查模型是否使用了适当的求解器类型。

显式和隐式求解器

选择求解器取决于模拟开始时模型刚度的近似值。刚性系统具有缓慢变化和快速变化的连续动态。隐式求解器是专门为刚性问题设计的,而显式求解器是为非刚性问题设计的。使用非刚性求解器来求解刚性系统是低效的,并且可能导致不正确的结果。如果一个非刚性求解器使用非常小的步长来求解你的模型,检查一下你是否有一个刚性系统。

模型 推荐的解决者
表示一个刚性系统 ode15s
不代表一个僵硬的系统 数值

Performance Advisor使用表中所示的启发式方法在显式和隐式求解器之间进行选择。

原来的解算器 性能顾问操作
变步长求解器

首先计算系统在0处的刚度。然后:

  • 如果刚度大于1000,Performance Advisor将选择ode15s。

  • 如果刚度小于1000,Performance Advisor将选择ode45。

固定步长连续求解器
  • 如果刚度大于1000,Performance Advisor将选择ode14x。

  • 如果刚度小于1000,Performance Advisor将选择ode3。

如果系统刚度在模拟过程中没有变化,这种启发式方法最有效。如果系统刚度随时间变化,则为该系统选择最合适的解算器,而不是Performance Advisor建议的解算器。

另请参阅

选择多线程联合仿真设置开启或关闭

调整联合模拟设置以获得更好的性能和准确性。

  • 如果模拟时间增加,则验证并恢复更改—当模拟时间增加时,Performance Advisor将恢复以前的联合模拟设置。

  • 如果准确度大于公差,验证并恢复更改——如果准确度大于公差,Performance Advisor将恢复以前的联合模拟设置。

提示

您可以使用抽搐而且toc函数来测量仿真时间。

另请参阅

识别用于数值补偿的联合仿真信号

识别可能需要显式数值补偿的联合模拟信号。

  • 如果模拟时间增加,则验证并恢复更改—当模拟时间增加时,Performance Advisor将恢复以前的联合模拟设置。

  • 如果准确度大于容许度,验证并恢复更改——如果准确度大于容许度,Performance Advisor将恢复联合模拟。

提示

您可以使用抽搐而且toc函数来测量仿真时间。

另请参阅

检查Dataflow域设置

为了增加数据流域的吞吐量,增加系统的延迟可能是有利的。Performance Advisor分析模型中的数据流域并找到最佳延迟设置。分析还确定了数据流领域中的任何其他多线程限制。

数据流分析是一个多步骤的过程,在运行分区分析之前,分析可以通过为数据流域中的每个块启用运行时概要来模拟模型。

在分析完成后,Performance Advisor建议一个延迟值,该值优化了主机的多核CPU体系结构的系统吞吐量,并确定数据流域中的任何其他多线程限制

另请参阅

选择仿真模式

为了获得最快的模拟时间,使用此检查来评估以下模式并确定最佳选择:

  • 正常的

  • 加速器

  • 快速的加速器

  • 快速加速器与最新的检查

在普通模式下,Simulink金宝app将在每次模拟运行期间解释模型。如果您经常更改模型,这通常是首选模式,因为它不需要单独的编译步骤。它还提供了对模型进行更改的最大灵活性。

在加速器模式下,Simulink尽可能将金宝app模型编译为二进制共享库或DLL,从而消除了在正常模式下解释模拟的块到块开销。加速模式支持调试器和分析器,但不支金宝app持运行时诊断。

在快速加速器模式下,模拟速度最快,但此模式仅适用于模型中所有块都可用c代码的模型。此外,此模式不支持调试器或分析器。金宝app

当选择关闭了最新检查的快速加速器时,性能顾问不会在模拟过程中执行最新检查。您可以在调优参数时重复运行Rapid Accelerator可执行文件,而不会产生最新检查的开销。例如,如果您有一个大型模型,或者一个广泛使用模型引用的模型,这种执行方法可以提高效率。

对于带有3d信号的模型,正常或加速模式效果最好。

另请参阅

选择打开或关闭编译器优化

使用此检查确定执行编译器优化是否有助于提高模拟速度。优化只能在加速或快速加速模式下执行。

请注意

如果MATLAB未配置为使用优化编译器,则将跳过此检查。

另请参阅

选择硬件加速设置

该检查将根据模拟时间比较三个硬件加速选项。

  • —禁用硬件加速,且不使用SIMD。

  • 利用通用硬件(更快,无需重建)-利用SIMD指令的硬件通用的Simulink系统需求。金宝app当主机发生更改时,此选项不需要重新构建模型进行模拟。

  • 利用本地硬件(最快,允许重建)-利用SIMD指令的硬件本机主机。此选项可能需要在主计算机更改时重新构建模型进行模拟。

您可以根据对比结果选择硬件加速。

另请参阅

最终验证

该检查验证了模型中仿真时间和精度的整体性能改进。如果性能不如原始模型,performance Advisor将丢弃对模型的所有更改,并加载原始模型。

用于验证的全局设置不适用于此检查。如果您还没有验证其他检查所产生的更改所带来的性能改进,那么使用此检查来执行对模型的所有更改的最终验证。

另请参阅