[发明专利]面向异构众核处理器的AI框架两级并行加速方法在审
| 申请号: | 202210136541.1 | 申请日: | 2022-02-15 |
| 公开(公告)号: | CN114661460A | 公开(公告)日: | 2022-06-24 |
| 发明(设计)人: | 肖谦;王飞;沈莉;赵美佳;周文浩;武文浩 | 申请(专利权)人: | 无锡江南计算技术研究所 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
| 代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
| 地址: | 214038 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 面向 异构众核 处理器 ai 框架 两级 并行 加速 方法 | ||
1.一种面向异构众核处理器的AI框架两级并行加速方法,其特征在于,基于以下功能模块:
模型优化模块:用于对模型做适当的分裂,将一些串行的计算图转换为树状计算图;
线程管理模块:用于管理AI框架的线程池,并将各个线程调度到空闲的核组上去;
核组管理模块:用于将计算任务并行分配到各个从核上执行,并在检测到所有从核都完成计算之后,向线程管理模块报告计算任务完成,且将自身置于空闲状态;
所述加速方法包括以下步骤:
步骤1、AI框架调用模型优化模块优化深度学习模型或者预训练好的模型,将其组织成更具可并行性的树形计算图;
步骤2、AI框架将步骤1中优化后的树形计算图转换成由计算任务组成的线程池;
步骤3、线程管理模块根据相关性将步骤2中获得的线程池组织成不同的线程队列,不同队列间的计算任务不具相关性,可以并行执行,同一队列内部的计算任务则必须按任务执行;
步骤4、线程管理模块监测各个核组的状态,如果发现某个核组处于空闲状态,则将某队列的计算任务调度到该核组上执行,并且保障同时运行于各个核组上的计算任务分属于不同的计算队列;
当某个核组完成计算任务并处于空闲状态时,线程管理模块继续分配计算任务到该核组,直到所有队列的计算任务都全部完成;
当某个核组接收到计算任务时,核组管理模块将计算任务并行分配到各个从核上执行,并监测各从核的运行状态,等到所有从核都完成计算任务并处于空闲状态后,核组管理模块向线程管理模块报告任务完成,并等待下一个计算任务的分配;
步骤5、当整个运行任务完成后,线程管理模块和核组管理模块均中止运行,等到下一次运行任务开始后,线程管理模块和核组管理模块均进入监测状态,等候线程任务和核组计算任务的分配。
2.根据权利要求1所述的面向异构众核处理器的AI框架两级并行加速方法,其特征在于:所述线程管理模块被配置为:
自动检测所有的核组资源,当发现处于空闲状态的核组时,在线程池中选择一个计算任务分配到该线程上,并将该核组资源置为忙碌状态;
继续调度可并行的计算任务到其他核组直至所有核组都处于忙碌状态;
进入监测状态,等到下一次的任务分配。
3.根据权利要求1所述的面向异构众核处理器的AI框架两级并行加速方法,其特征在于:当某个核组接收到线程管理模块分配到的计算任务后,由主核负责运行一个核组管理模块。
4.根据权利要求1所述的面向异构众核处理器的AI框架两级并行加速方法,其特征在于:步骤3中线程管理模块根据异构众核处理器的核组个数构建相应的线程队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210136541.1/1.html,转载请声明来源钻瓜专利网。





