本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

加速模式的工作原理

概述

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

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

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

注意

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

Normal 模式

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

Accelerator 模式

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

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

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

在 Accelerator 模式下,有两种操作模式。

即时 Accelerator 模式

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

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

经典 Accelerator 模式

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

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

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

Rapid Accelerator 模式

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

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

相关示例

详细信息