[发明专利]面向异构众核基于空间重排的数据传输方法有效
申请号: | 201910771644.3 | 申请日: | 2019-08-21 |
公开(公告)号: | CN112416825B | 公开(公告)日: | 2022-10-04 |
发明(设计)人: | 毛兴权;孙俊;顾龙;姜小成;尤洪涛;张立博 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 王健 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 异构众核 基于 空间 重排 数据传输 方法 | ||
本发明公开一种面向异构众核基于空间重排的数据传输方法,包括以下步骤:S1、在编译时,为每个加速区建立一张数据传输信息表,此数据传输信息表中包含当前加速区待传输数据的信息;S2、按照数据的传输模式,将待传输的多个数据进行空间重排;S3、在加速区计算开始之前,启动主存数据到局存缓冲区的DMA数据传输,将加速区计算所需的数据,包括读入的数据和读写的数据,从主存一次传输至局存的缓冲区中;S4、在加速区计算完成之后,启动局存缓冲区到主存的DMA数据传输,将加速区需要传输的要写出的数据,包括读写的数据和写出的数据,从局存缓冲区一次传输至主存中。本发明有效降低众核片上局存和主存之间多次数据传输的开销,提升了程序的访存效率和整体性能。
技术领域
本发明涉及一种面向异构众核基于空间重排的数据传输方法,属于计算机技术领域。
背景技术
在异构众核多层次存储体系结构下,片上局存和主存之间的数据传输是必不可少的,数据传输效率对众核应用程序的性能影响十分巨大。众核片上局存和主存之间一般通过DMA(Direct Memory Access)的方式来传输数据。在众核应用程序的加速区中如果用到某块数据,则在访问该块数据之前发起DMA操作,将该块数据从主存拷贝到片上局存。如果用到多块数据,则对每一块数据都发起一次DMA操作。
然而,现有的片上局存和主存之间的数据传输方法存在着如下缺陷:一是如果有多块数据需要传输,就要发起多次DMA操作,引起过多的数据传输启动开销;二是如果要传输多个小的数据块,则每次DMA操作传输的数据量都很小,不能充分利用数据传输带宽,降低数据传输效率,影响程序性能。
发明内容
本发明的目的是提供一种面向异构众核基于空间重排的数据传输方法,该面向异构众核基于空间重排的数据传输方法提升了单次数据传输的数据量,以充分发挥数据带宽,减少数据传输的次数和启动开销,有效降低众核片上局存和主存之间多次数据传输的开销,提升了程序的访存效率和整体性能。
为达到上述目的,本发明采用的技术方案是:一种面向异构众核基于空间重排的数据传输方法,包括以下步骤:
S1、在编译时,为每个加速区建立一张数据传输信息表,此数据传输信息表中包含当前加速区待传输数据的信息,此待传输数据的信息包括数据在内存中的存放地址、数据在程序中对应的变量名称、数据长度和数据的传输模式;
S2、按照数据的传输模式,将待传输的多个数据进行空间重排,将传输模式相同的数据在主存上的空间连续存放,并在局存上申请相同大小的数据缓冲区;
S3、在加速区计算开始之前,启动主存数据到局存缓冲区的DMA数据传输,将加速区计算所需的数据,包括读入的数据和读写的数据,从主存一次传输至局存的缓冲区中;
S4、在加速区计算完成之后,启动局存缓冲区到主存的DMA数据传输,将加速区需要传输的要写出的数据,包括读写的数据和写出的数据,从局存缓冲区一次传输至主存中。
上述技术方案中进一步改进的方案如下:
1. 上述方案中,在S1中,所述传输模式包括由主存读到局存、由局存写到主存、先从主存读到局存再写入主存。
2. 上述方案中,在S1中,所述数据信息通过编译指示或者编译器对加速区代码的分析获得。
3. 上述方案中,经S2进行空间重排后的待传输数据在主存中的空间布局为:读入的数据、读写的数据、写出的数据。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910771644.3/2.html,转载请声明来源钻瓜专利网。