【技术实现步骤摘要】
一种面向数据结构的图形处理器数据预取方法及装置
本专利技术涉及图形处理器的数据预取领域,具体涉及一种面向数据结构的图形处理器数据预取方法及装置。
技术介绍
随着图计算应用的问题规模不断增长,使用图形处理器(GPU)并行加速图计算应用成为计算机处理大规模图计算问题的关键。但是,由于大多数图计算应用是访存密集型应用,因此这些应用最大的时间开销来自于遍历图产生的存储访问。宽度优先搜索是许多图计算应用进行图遍历的基本算法。但是,由于宽度优先搜索的不规则存储访问,导致GPU对每个不规则的存储访问都要产生多于一个的存储访问请求。这个极大地影响了GPU的访存效率,进而导致GPU不能有效地加速宽度优先搜索。另外,GPU对图数据结构的访问缺乏足够的局部性,进而导致GPU对一些数据的缓存访问失效率高达80%。更糟糕的是,由于缺乏足够的算术计算,GPU无法通过大规模并行来实现延迟隐藏,流水线不得不暂停来等待数据。最终,GPU无法充分利用它的强大计算能力来加速宽度优先搜索算法。数据预取是一项有希望可以提高存储器访问和缓存效率的技术。GPU上典型的数据预取器,例如,基于步长的数据预取器、基于数据流的预取器和基于全局历史访存信息的数据预取器,都可以有效地减少应用中规则存储访问的延迟。然而,对于非规则存储访问,典型的基于预测的数据预取器的预取错误率明显高于对规则存储访问的预取。这样高的预取错误率直接导致读取过多的无用数据,进而产生严重的缓存数据污染和存储器带宽浪费。另外,由于基于访存模式识别的预取器无法准确识别出复杂多变的非规则访存模式,这些类型的数据预取器对减少访存延迟和提高GPU的 ...
【技术保护点】
1.一种面向数据结构的图形处理器数据预取方法,其特征在于实施步骤包括:1)获取监控处理器核对图数据结构的存储访问读请求的信息及读取的数据;2)根据该存储访问请求的类型选择相应的数据预取请求生成方式:若该存储访问请求是对work list向量的普通读访问,则生成对work list向量下一项的预取请求;若该存储访问请求是对work list向量的预取访问,则生成对vertex list向量的预取请求;若该存储访问请求是对vertex list向量的预取访问,则生成对edge list向量的预取请求;若该存储访问请求是对edge list向量的预取请求,则生成对visited list向量的预取请求;3)将生成的预取请求存入预取请求队列。
【技术特征摘要】
1.一种面向数据结构的图形处理器数据预取方法,其特征在于实施步骤包括:1)获取监控处理器核对图数据结构的存储访问读请求的信息及读取的数据;2)根据该存储访问请求的类型选择相应的数据预取请求生成方式:若该存储访问请求是对worklist向量的普通读访问,则生成对worklist向量下一项的预取请求;若该存储访问请求是对worklist向量的预取访问,则生成对vertexlist向量的预取请求;若该存储访问请求是对vertexlist向量的预取访问,则生成对edgelist向量的预取请求;若该存储访问请求是对edgelist向量的预取请求,则生成对visitedlist向量的预取请求;3)将生成的预取请求存入预取请求队列。2.根据权利要求1所述的面向数据结构的图形处理器数据预取方法,其特征在于,步骤1)中获取监控处理器核对图数据结构的存储访问读请求包括:访存指令单元中的访存监视器负责监视对worklist向量的普通访存读指令访问,以及访存指令单元中的访存结果缓冲记录的所有被一级缓存处理过的访存请求信息以及读取到的数据。3.根据权利要求1所述的面向数据结构的图形处理器数据预取方法,其特征在于,步骤2)中生成对worklist向量下一项的预取请求时,对worklist向量下一项的预取请求的数据地址为该存储访问请求所读取的数据地址加上所读取的数据大小得到的结果。4.根据权利要求1所述的面向数据结构的图形处理器数据预取方法,其特征在于,步骤2)中生成对vertexlist向量的预取请求的详细步骤包括:根据上一次产生worklist向量的预取请求时得到的节点ID来确定vertexlist向量的预取请求的对应行以及下一行的地址,如果该对应行以及下一行的地址在同一个缓存块中的生成一条存储访问请求以同时取回该对应行以及下一行的地址;如果该对应行以及下一行的地址不在同一个缓存块中的生成两条存储访问请求以分别取回该对应行和下一行的地址。5.根据权利要求1所述的面向数据结构的图形处理器数据预取方法,其特征在于,步骤2)中生成对edgelist向量的预取请求的详细步骤包括:根据运行时的edgelist向量起始和终止索引生成单元会产生对edgelist向量的预取请求,且产生请求的数量主要取决于存储这些边的数据需要多少缓存块以及进行地址对齐需要多少缓存块。6.根据权利要求1所述的面向数据结构的图形处理器数据预取方法,其特征在于,步骤2)中生成对visitedlist向量的预取请求的详细步骤包括:读取对edgelist向量预取请求的返回结果作为计算预取visitedlist向量数据,为每一个读取到的值产生相应的访问请求地址。7.一种面向数据结构的图形处理器数据预取装置,其特征在于:包括分布在每一个处理单元中的数据预取单元,所述数据预取单元分别与访存指令单元的访存监视器、访存结果缓存以及一级缓存相连,所述数据预取单元包括:地址空间分类器(1),用于根据处理器核对图数据结构的存储访问读请求的类型选择相应的数据预取请求生成方式;运行时信息表(2),用于分别记录各个处理单元Warp中各种向量的运行时信息,所述各种向量的运行时信息包括worklist向量的索引、vertexlist向量的索引、edgelist向量的起始索引和终止索引;预取请求生成单元(3),用于根据指定执行不同的数据预取请求生成方式,若该存储访问请求...
【专利技术属性】
技术研发人员:黄立波,郭辉,郑重,王志英,郭维,雷国庆,王俊辉,隋兵才,孙彩霞,王永文,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。