[发明专利]一种面向Simulink自动生成多线程代码的核间通信优化方法在审
申请号: | 202010698129.X | 申请日: | 2020-07-21 |
公开(公告)号: | CN112015692A | 公开(公告)日: | 2020-12-01 |
发明(设计)人: | 汪楠;柳宜川;邱源;许博仁 | 申请(专利权)人: | 华东理工大学;上海航天计算机技术研究所 |
主分类号: | G06F15/167 | 分类号: | G06F15/167;G06F9/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200237 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 simulink 自动 生成 多线程 代码 通信 优化 方法 | ||
1.一种面向Simulink自动生成多线程代码的核间通信优化方法,其特征在于,包括以下步骤:
将通信向量集C中所有通信向量的缓存区深度设置为1;
对于线程集T中的某个线程t,当与它相关的最小缓存区深度增加一个单位量时,计算该线程的内存使用量M(t),并在计算之前设置临时线程集合
判断该线程的内存使用量M(t)是否超过其可获得的内存量Mavl;若所述内存使用量M(t)大于Mavl,则直接在T'为空时切换至下个线程;若所述内存使用量M(t)未超过Mavl,则计算总的线程切换时间S(t),并令T′=T′∪{t},同时在T'不为空时选择M(t)*S(t)最小的线程;
将通信缓存区入口分配给其通信向量以将最小缓存区深度增加1,并判断所有线程是否处理完毕;若未处理完毕,则切换下个线程;若处理完毕,则结束本次分配优化。
2.根据权利要求1所述的多线程代码自动生成的通信缓存区分配优化方法,其特征在于,在进行处理器内的迭代优化前,还包括根据最大缓存区使用量确定处理器间通信向量的缓存区深度;
进行处理器内部缓存区分配;
进行处理器间缓存区分析;
在处理器间缓存区分配流程中引入FPGA仿真,并判断处理器细化是否完成;若处理器细化完成,则更新处理器间的缓存区;若处理器细化未完成,则判断迭代是否结束;
若迭代未结束,则再次进行处理器细化;若迭代结束,则结束处理器间的缓存区分配。
3.根据权利要求2所述的多线程代码自动生成的通信缓存区分配优化方法,其特征在于,在进行FPGA仿真时,还包括在与硬件相关软件中进行软件跟踪,用于监视处理器、线程和缓存区的状态;
在缓存区优化过程中,如果达到目标吞吐量、或达到最大迭代次数、或者连续拒绝次数超过某个阈值,则迭代终止。
4.根据权利要求1至3中任一所述的多线程代码自动生成的通信缓存区分配优化方法,其特征在于,还包括:
给定一个图G=(T,C),其中T是一组线程,C是不同线程之间的通信向量集;若图中每个线程能够通过有线路径到达其他线程,则称G为线程强连通分量,记为TSCC;
给定一个图G=(B,R),其中B是块的集合,R是线程中不同块之间的依赖关系的集合;若图中每个块能够通过有线路径到达其他块,则称G为块强连通分量,记为BSCC;
根据TSCC和BSCC来设置适合的具有循环依赖的任务拓扑图的通信缓存区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东理工大学;上海航天计算机技术研究所,未经华东理工大学;上海航天计算机技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010698129.X/1.html,转载请声明来源钻瓜专利网。