[发明专利]基于异构众核处理器的多级访存方法、离散访存方法有效
申请号: | 201210441328.8 | 申请日: | 2012-11-06 |
公开(公告)号: | CN102929724A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 陈德训;尹万旺;周明忠;孙唯哲 | 申请(专利权)人: | 无锡江南计算技术研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F13/16 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 骆苏华 |
地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 异构众核 处理器 多级 方法 离散 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种基于异构众核处理器的多级访存方法及基于异构众核处理器的离散访存方法。
背景技术
近年来,高性能计算软件获得飞速发展,尤其是各种科学计算软件。这些科学计算软件分布于天文、气象、地球模拟、航空航天、流体力学、基础科学研究等等各个学科领域,所研究的问题也越来越复杂,对高性能计算资源要求越来越高。科学计算软件取得巨大成功的同时,也对当今的高性能计算机提出了巨大的挑战。
众核处理器由于其更高的并行执行性能和较低的平均功耗而日渐受到人们的青睐,成为当前处理器技术研究和发展的一个重要方向。然而,由于众核体系架构中具有复杂的多级存储资源,对这些存储资源的管理和巨大的访问开销限制了众核处理器在高性能计算领域的推广。到目前为止,众核处理器已经在高并行度的图像处理等领域得到了认可,而对于其它高性能计算应用方面,众核处理器仍然面临着巨大的挑战。
此外,在科学计算软件中,不可避免地对多维数组进行访问操作,也无法避免离散访存。大量离散访存的存在会极大的制约科学问题的计算速度。因此如何优化和绕开离散访存也是高性能科学计算软件所必须面临的挑战。
在目前的众核技术方案中,未采取任何措施去降低协处理器对多级存储资源的访问的开销,而是以协处理器的“量”来取胜,即将原来科学计算课题“总计算开销”转化为许多份并行的“协处理器计算开销+协处理多级存储资源访问开销”。这样对于每个并行任务而言,都存在访存过程和计算过程,且二者不能互相隐藏。当计算并行域循环变量不是远大于协处理器的数量(一般为数百个)时,就会造成协处理计算资源的浪费,且由于每个协处理器上运行的线程数不远大于1,则相应的协处理器效率也不高。
另一方面,目前及可期的将来,大多数计算课题中的计算密集的并行域往往由多重循环构成。因外,这类科学问题也不可避免地存在离散访存。因此,在传统处理器构成的计算平台上,离散访问带来的性能降低是根本无法回避的。
据目前可查文献和已知的技术方案,在面向更广泛的科学计算课题时,现有技术方案中,计算资源未能获得充分利用,造成部分计算资源的闲置。而已经使用的协处理器的效率也得不到充分的发挥。
另外在目前技术方案中,面对科学计算中由于离散访存所带来的性能下降问题未能提供任何有效的解决方案。
发明内容
本发明所要解决的技术问题是异构众核体系结构下面向多级存储资源时访存效率低,以及由于低效率的访存而导致的计算资源未充分利用,协处理器的性能无法充分发挥的问题。
为了解决上述问题,本发明提供了一种基于异构众核处理器的多级访存方法,包括:
从核读入第一次计算所需的数据;
除第一次之外,从核在进行本次数据计算的同时,读入下一次计算所需的数据;
除最后一次之外,从核在进行本次数据计算的同时,写回上一次计算结果数据;
从核写回最后一次计算结果数据。
可选的,在从核读入计算所需的数据之前,还包括:发起DMA读入数据请求;
在从核写回计算结果数据之前,还包括:发起DMA写回数据请求。
可选的,在从核进行本次数据计算之前,还包括:等待本次计算所需数据读入加载完毕。
可选的,在从核发起DMA读入第一次数据请求之前还包括:
进行初始化。
可选的,所述初始化包括:并行任务分配和从核任务绑定。
可选的,在所述从核读入第一次计算所需的数据之前还包括:
在从核的局部存储空间上申请2倍于通信数据大小的存储空间,以存放2份同样大小且互为对方缓冲的数据。
本发明还提供了一种基于异构众核处理器的离散访存方法,包括:
在从核上调整数组的存储顺序,将离散存储的数组调整为连续存储的数组;
从核以如上述的基于异构众核处理器的多级访存方法,对所述数组进行通信读入数据、计算和通信写回数据。
可选的,在从核对所述数组进行通信读入数据、计算和通信写回数据之后,还包括:
在从核上再次调整数组的存储顺序,将连续存储的数组调整为原来离散存储的数组。
可选的,所述在从核上调整数组的存储顺序,将离散存储的数组调整为连续存储的数组包括:
每隔一个循环变量的维度,读入一个所述离散存储的数组的元素;
将读入的元素连续存储于第一临时数组;
将所述第一临时数组转置赋值,变换为第二临时数组;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210441328.8/2.html,转载请声明来源钻瓜专利网。