Matlab/Simulink并行计算,多线程计算,充分使用CPU核心,进行concurrent计算
本质上是利用Simulink的concurrent功能加速Simulink的运算
充分利用多核处理器的性能,使用多个核心加速Simulink的运算
实现Simulink的并行运算
利用 Simulink® 中的分区、映射和探查过程,可以解决设计并发执行系统时的常见难题。
分区操作允许您将模型的各区域指定为各项任务,而不考虑嵌入式多核处理硬件的细节。这种独立性使您可以按照最符合您的应用需要的方式排列模型的内容和层次结构。
在分区后的系统中,可以通过映射操作将各个分区指定给嵌入式处理系统中的处理元件。使用 Simulink 映射工具可以表示和管理执行线程、FPGA 上的 HDL 代码以及这些线程或 FPGA 执行的工作的细节。当您创建模型时,不需要跟踪各个分区或它们之间的数据传输,因为映射工具会为您完成这些工作。而且,您的模型还可以在多个体系结构中重用。
探查是指在典型计算负载下对应用的部署进行仿真。它使您可在将模型部署到硬件之前确定哪种模型分区和映射能够获得最佳性能。
相关模型
相关模型下载点这里https://download.csdn.net/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。