申请/专利权人:无锡江南计算技术研究所
申请日:2021-04-09
公开(公告)日:2024-04-30
公开(公告)号:CN114217807B
主分类号:G06F8/41
分类号:G06F8/41;G06F9/50
优先权:
专利状态码:有效-授权
法律状态:2024.04.30#授权;2022.04.08#实质审查的生效;2022.03.22#公开
摘要:本发明公开一种基于异构众核架构的直接内存访问编译优化方法,包括以下步骤:S1、通过调度原语cache_read,将张量数据由主存搬移到局存;S2、通过调度原语pragma,将S11中的数据搬移操作改写为DMAGET操作;S3、通过调度原语double_buffer,将S2中的DMAGET操作优化为双缓冲模式;S4、通过调度原语pragma,在局存副本AA使用位置前插入回答字判断操作;S5、通过调度原语cache_write,将结果张量B的局存副本BB由局存搬移至主存。本发明充分利用硬件资源,最大程度实现算子的计算访存操作的重叠,从而提升深度学习负载在异构众核平台上的性能。
主权项:1.一种基于异构众核架构的直接内存访问编译优化方法,其特征在于,包括以下步骤:S1、通过调度原语cache_read,将张量数据由主存搬移到局存,具体如下:S11、对结果张量B计算过程所依赖的张量数据A,为其定义局存副本AA,并通过调度原语cache_read将张量数据A由主存搬移到局存副本AA;S12、将局存副本AA绑定到结果张量B计算过程的循环x的位置;S2、通过调度原语pragma,将S11中的数据搬移操作改写为DMAGET操作,具体如下:对于局存副本AA,将其数据搬移方式由循环load改写为DMAGET操作;S3、通过调度原语double_buffer,将S2中的DMAGET操作优化为双缓冲模式,具体如下:S31、如果不进行双缓冲优化,则使用基本的异步DMA操作,则跳转S4;S32、如果需要进行双缓冲优化,则在S2中调度原语pragma的基础上,将局存副本AA的DMAGET操作优化为双缓冲模式;S4、通过调度原语pragma,在局存副本AA使用位置前插入回答字判断操作,具体如下:S41、对于S31的情况,在局存副本AA使用位置前插入基本回答字判断操作;S42、对于S32的情况,在局存副本AA使用位置前插入双缓冲回答字判断操作;S5、通过调度原语cache_write,将结果张量B的局存副本BB由局存搬移至主存,具体如下:S51、对结果张量B,为其定义局存副本BB,并且通过调度原语cache_write将局存副本BB搬移到结果张量B;S52、将局存副本BB绑定到结果张量B计算过程的循环y的位置。
全文数据:
权利要求:
百度查询: 无锡江南计算技术研究所 一种基于异构众核架构的直接内存访问编译优化方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。