Matlab/Simulink并行计算,多线程计算,充分使用CPU核心,进行concurrent计算

本文介绍了如何利用Simulink的并发功能和多核处理器来加速模型的运算。通过创建Simulink子系统,将其转换为引用模型,并配置并发任务,可以实现模型的并行执行。在模型设置中调整求解器,自动分配不同子系统的步长和处理器,从而优化性能。此外,使用探查功能可以在部署前预估最佳的模型分区和映射,以达到最佳性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本质上是利用Simulink的concurrent功能加速Simulink的运算
充分利用多核处理器的性能,使用多个核心加速Simulink的运算
实现Simulink的并行运算

利用 Simulink® 中的分区、映射和探查过程,可以解决设计并发执行系统时的常见难题。

分区操作允许您将模型的各区域指定为各项任务,而不考虑嵌入式多核处理硬件的细节。这种独立性使您可以按照最符合您的应用需要的方式排列模型的内容和层次结构。

在分区后的系统中,可以通过映射操作将各个分区指定给嵌入式处理系统中的处理元件。使用 Simulink 映射工具可以表示和管理执行线程、FPGA 上的 HDL 代码以及这些线程或 FPGA 执行的工作的细节。当您创建模型时,不需要跟踪各个分区或它们之间的数据传输,因为映射工具会为您完成这些工作。而且,您的模型还可以在多个体系结构中重用。

探查是指在典型计算负载下对应用的部署进行仿真。它使您可在将模型部署到硬件之前确定哪种模型分区和映射能够获得最佳性能。

相关模型
相关模型下载点这里https://download.youkuaiyun.com/download/rmrgjxeivt/37376425

参考
https://ww2.mathworks.cn/videos/simulink-concurrent-execution-with-multicore-processor-120659.html
https://www.bilibili.com/video/av287800022
https://ww2.mathworks.cn/help/simulink/ug/solving-embedded-performance-problems-using-multicore-processors-and-fpgas.html

1. 创建一个Simulink 工程

新建一个Simulink,放入需要仿真的内容。并进行相关设置

在这里插入图片描述
在这里插入图片描述

单击右键打包为子系统
在这里插入图片描述
单击右键,如图选择,创建reference model
在这里插入图片描述

在这里插入图片描述

2. 创建concurrent使用的simulink工程

将创建的reference model 复制过来

在这里插入图片描述
在这里插入图片描述

3. 一个DEMO

在刚才的基础上继续插入reference model,构成如下系统
在这里插入图片描述
在model settings中找到solver→configure Tasks
在这里插入图片描述
在这里插入图片描述
系统将自动分配两个subsystem的运行步长和运行的处理器位置,此时一个处理器以0.001的步长运行subsystem,另一处理器以0.1的步长运行subsystem1。
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值