基于节点前沿的GPU广度优先搜索改进算法 .docVIP

  • 12
  • 0
  • 约1.71万字
  • 约 20页
  • 2018-11-02 发布于广东
  • 举报

基于节点前沿的GPU广度优先搜索改进算法 .doc

基于节点前沿的GPU广度优先搜索改进算法 .doc

节点前沿的GPU广度优先搜索改进算法 YANG Bo(杨博h, 2, LU Kai(卢凱)lf2, GAO Ying-hui(高颖慧)3, XU Kai(徐凯)12, WANG Xiao-ping(王小平)1/2, CHENG Zhi-quan(程志权)4 (1)中国国防科技大学并行分布式处理重点实验室,长沙410073 (2 )中国国防科技大学计算机学院长沙410073 (3 )中国国防科技大学电子与工程学院长沙4 10073 (4 )中国阿凡达科技公司广州51 0001 广度优先搜索(BFS )是用于图遍历的一个重要的内核,并已被应用于许多图形处 理应用。人们一直在进行大量的研究致力于促进BFS的性能。已实现的最有效、最先进的 GPU加速是NVIDIA Tesla C2050 GPU的GPU算法,它可以每秒遍历3.3x10 9条边。 而现在有一种新的基于GPU BFS的节点前沿算法技术被提出了,其主要特点有三方面。 首先,为了获得更好的处理负载平衡不规则的图,节点前沿扩大时引入虚拟队列任务分解 和映射策略。其次,提出了一个全局重复数据删除检测方案,从节点前沿有效去除重复的 节点。最后,使用擅于用来处理大前沿的自下而上的GPU BFS方法。实验结果表明,在 不同的图形处理方面,该算法相较于目前最先进的处理算法能够提高10%的效率。特别是, 它表现出的在低直径无标度图上的遍历率是NVID IA最先进的Tesla GPU K20C设备的2 -3倍加速,峰值遍历率达到11.2xl09边/秒。 关键词:广度优先搜索;GPU;图的遍历;节点前沿 引言 图算法是许多特定的应用,如基因组序列装配和对于超大规模集成电路自动设计[1-2] 的基础。随着社交网络的迅速成长,图算法被发现在网络中分析用户的关联分析和产品推 荐[3-4]方面有着更重要的应用。广度优先搜索(BFS )是许多复杂的图算法的一个重要组 成部分。它也是许多基准套装,如Pa rboil[5]和Gra ph500[6]的超级计算机的基准的重要 的内核。 在图论中,给定图G = ( V , E )和一个源点S , B FS的目标是计算从S到任意可达节 点Vi的最短距离,或者说从S到Vi的边数。BFS是一种用于搜索图的策略,尤其是搜索 基本上限于两个动作:(1)访问和检查的图的节点;(2 )访问当前访问节点的相邻节点。 BFS开始于一个根节点并检查所有的相邻节点。对于每个相邻节点,它会轮流检查哪个是 未访问过的并重复该过程,直到所有节点都被访问过。它均匀地扩张已发现的节点(与S 距离K )和未被发现的节点(距离K+1)之间的节点边境的广度。 已经有大量的前期工作P-10]致力于加快BFS的速度,通过提高算法或采用不同类型 的硬件,如CPU , GPU , MIC和FPGA.Fortun ately的数据结构,B FS在本质上是高度 并行的。由于GPU已经发展了并行计算的直接加速,最近,许多研究人员用它来进行科 学计算[11-12]。G PU的加速是快速BFS的必然选择,而利用GPU的稀疏图的BFS计算 是不平凡的。首次实现的GPU BFS[13]用原始的任务分解并没有最大化GPU的利用率。 BFS是一种任务分配和存储器存取通常依赖于输入图形的结构的算法,由于图形的不 规则性,B FS并行与原始任务分解会造成严重的工作量不平衡和局部的内存访问较少,这 将损害整体的并行。此外,它的所有线程都使用直接原子操作来管理节点边境的全局共享 成本过于高昂。已经有一些前期工作在一定程度上解决了这些问题。一种经基任务分配方 法[9]提出了解决因不当的任务分配给并行BFS带来的负载不平衡。第一个基于GPU BFS 的节点边境算法[14]采用了分层的队列管理方案,来维护节点边境。到目前为止,最快的 GPU BFS算法[15]依靠一种咦节点边境为序列的BFS算法,在一 ±夬NVIDIA Tesla C2050 GPU上实现每秒遍历图上3.3xlO9条边。 经过深入的研究,有两个关于现有基于GPU BFS的节点边境算法的问题,限制了 GPU的性能。首先,任务分配和存储器的并行图表访问计算是高度不规则和数据相关的。 其次,节点和其相邻节点的同时扩张导致重复的节点出现在节点边境。 在此次工作中,我们提出了一个基于GPU BFS的节点边境算法,它包括四个主要操 作:相邻节点采集,状态检查,全局重复数据删除和自下而上遍历。该算法采用了虚拟队 列任务分解和映射策略,可有效做到对于不规则图形的工作量平衡。全局重复数据删除检 测方案用于删除在节点边境的重复节点。此外,一个基于GPU的自下而上的BFS方法被 用来针对一些低直径图BF S方法中的大型边境,如无标度和小世界图[16]。这种基于 GPU的BFS算法将与最先进的

文档评论(0)

1亿VIP精品文档

相关文档