Main Content

加速模式的工作原理

概述

加速和快速加速模式使用 Simulink® Coder™ 产品的部分内容创建可执行文件。

加速和快速加速模式会替换 Simulink 仿真中常用的解释代码,从而缩短模型的运行时间。

虽然加速模式会使用一些 Simulink Coder 代码生成技术,但您不需要安装 Simulink Coder 软件即可为您的模型加速。

注意

加速和快速加速模式生成的代码仅适用于加快模型仿真。对于其他目的,请使用 Simulink Coder 生成代码。

普通模式

在普通模式下,MATLAB® 技术计算环境是 Simulink 软件的基础环境。Simulink 控制仿真过程中使用的求解器和模型方法。模型方法包括模型输出的计算等内容。普通模式在一个进程中运行。

加速模式

默认情况下,加速模式采用即时 (JIT) 加速方式在内存中生成执行引擎,而不是生成 C 代码或 MEX 文件。您还可以将模型回退到经典加速模式,在这种模式下,Simulink 将生成代码并将代码链接到 C-MEX S-Function。

在加速模式下,模型方法与 Simulink 软件相分离,它们将作为之后进行仿真时使用的加速目标代码的一部分。

Simulink 会在重用加速目标代码之前检查代码是否为最新版本。有关详细信息,请参阅Code Regeneration in Accelerated Models

在加速模式下,有两种操作模式。

即时加速模式

在此默认模式下,Simulink 在内存中只为顶级模型(而不为引用模型)生成执行引擎。因此,仿真过程中不需要使用 C 编译器。

由于加速目标代码在内存中,因此只要模型处于打开状态,就可以重用这些代码。Simulink 还会序列化加速目标代码,因此当模型处于打开状态时,不需要重新构建模型。

经典加速模式

要使用生成 C 代码的经典加速模式对您的模型进行仿真,请运行以下命令:

set_param(0,'GlobalUseClassicAccelMode','on');

在此模式下,Simulink 会生成代码并将代码链接到与 Simulink 软件进行通信的共享库。MATLAB 与 Simulink 的目标代码执行过程相同。

快速加速模式

快速加速模式从您的模型中创建一个快速加速独立可执行文件。这个可执行文件包含求解器和模型方法,但位于 MATLAB 和 Simulink 的外部。它使用外部模式(请参阅External Mode Communication (Simulink Coder))与 Simulink 通信。

MATLAB 和 Simulink 在一个进程中运行,如果有第二个处理内核可用,独立可执行文件将在该内核中运行。

相关主题