首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于加速模型的simulink编码器性能改进

基于加速模型的simulink编码器性能改进
EN

Stack Overflow用户
提问于 2013-08-09 07:46:55
回答 1查看 1.3K关注 0票数 1

我想知道是否有一些经验,使用Simulink编码器在(快速)加速模式下运行模型可以获得多少性能?

例如,它与从非加速模型到加速模型的巨大改进相比是怎样的呢?

我知道这有点模糊,很可能取决于模型的具体情况,但我会很高兴看到具体的数字。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-12 20:14:32

我不知道您是否真的会发现速度提高的轶事是有用的,因为您的结果将高度依赖于您自己的实现。

尽管如此,以下加速模式是如何工作的上的引用可能对您有用。

如本链接所述..。

加速器模式生成代码并将其链接到code函数中.Simulink使用这个加速目标代码来进行仿真。 ...the模型方法独立于Simulink软件,是加速目标代码的一部分。C-MEX S函数API与Simulink软件通信,MEX与MATLAB通信.目标代码在与MATLAB和Simulink相同的过程中执行。

该链接接着描述了快速加速,如下所示:

快速加速器模式从您的模型创建一个快速加速器独立可执行文件。该可执行文件包括求解器和模型方法,但它位于MATLAB和Simulink之外。它使用外部模式(参见主机/目标通信)与Simulink通信。

(请注意,实际的链接有一些很好的图表,可以帮助说明这个体系结构)。

我认为有几件重要的事情要从这些描述中吸取教训。首先,在加速器模式下,代码只为模型方法生成;然而,在快速加速器模式下,代码也是为求解器生成的。在这两种情况下,由于生成的代码和Simulink之间的通信,都会产生一些开销(尽管在非快速加速模式下,这种开销通常会更大)。

现在,您是否将看到这些加速模式与完整代码生成之间的显著差异,这很可能取决于您将如何使用生成的代码。您已经说过,您的应用程序主要用于分析/可视化simulink模型的输出。您是否打算让应用程序本身成为一个Simulink模型?如果是这样的话,我想您的工作流程将是为“插件”模型生成代码,然后将其作为s函数合并到“父”模型中。基于上面给出的描述,我的直觉是,与加速器模式相比,您不会看到更多的性能改进。

但是,如果您的应用程序要在Simulink之外实现,那么代码生成肯定是可行的。在这种情况下,您已经完全消除了与Simulink通信的开销。例如,在这个工作流中,您可以从“插件”模型生成一个独立的可执行文件,执行该模型以获得输出,然后简单地将这些输出加载到应用程序中进行分析和可视化。您的应用程序可以用任何您想要的语言编写。事实上,您甚至还可以用MATLAB编写应用程序--关键是,您的应用程序在独立的可执行文件(从“插件”模型生成)完成后运行,而不是在执行过程中与插件模型进行接口。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18142229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档