GPU加速技术在图论算法中的应用

来源 :电子科技大学 | 被引量 : 10次 | 上传用户:peking521
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
图数据是许多计算、科学和工程领域中经常采用的数据结构,图操作则是构建这些领域中许多应用的基石。一直以来,设计高效的图算法就是数学与计算机科学的重要研究内容。随着算法理论的成熟,研究人员意识到传统的串行图算法几乎已达到理论上的时间复杂度极限,它们在生物基因工程、Web网络分析、地理信息系统等新兴应用产生的海量数据前遭遇到性能瓶颈。开发并行的图算法势在必行。然而,大多数研究集中在以CPU为处理部件的传统并行架构上,受到处理器核心数限制和通信代价方面的挑战。现代图形处理器(Graphic Processing Units,GPUs)具有运算核心数量多、运算能力强、高带宽的架构优势。近年来,利用GPU进行通用计算(General Purpose Computation on GPU,GPGPU)成为高性能计算领域新的趋势。目前,GPGPU领域的图算法研究还处于起步阶段,图算法具有的不规则访存性增加了设计的难度。除此之外,也不是所有的图算法都能够被有效地并行,比如深度优先搜索本质上就是串行的。本文研究和归纳了在CPU和GPU上设计实现并行图算法的研究现状,分析了GPU上图的数据表示,开发了基于统一计算设备架构(Compute Unified Device Architecture,CUDA)的并行算法以用于求解强连通分量(SCC)、最小生成树(MST)以及每对顶点间的最短路径(APSP)等三种图问题。首先,本文实现了基于CUDA的计算SCC的FB算法,在算法中引入了枝剪过程,并考虑到了线程分歧的影响;接下来,设计了一种Kruskal算法和Boruvka算法相结合的混合MST算法,它使用基于CUDA的基数排序与前缀和Scan原语来划分子图、构造子图结构以及过滤边,并用Boruvka算法的CUDA实现来求解子图的最小生成树森林;然后,受到基于CUDA的单源最短路径(SSSP)算法的启发,开发了一种利用SSSP求解APSP的并行方案,该方案一次求解多个源顶点的SSSP问题,能有效地利用GPU片上的共享内存。最后,本文以实验作为手段,测试了算法在不同规模的三种合成图Random、RMAT、SSCA#2上的性能,数据表明,这些基于CUDA的算法确实取得了一定的加速比。
其他文献
随着计算机技术的不断进步,掌纹识别技术已逐渐成为在模式识别、人机交互和机器学习等核心领域中的研究热点之一。掌纹识别具有侵犯性低、成本低、稳定性好等优点,已受到业界
近年来,随着信息技术和数据库技术的迅猛发展,尤其是互联网的广泛应用,需要分析和管理的数据迅速增多。数据挖掘技术便应运而生,聚类分析是数据挖掘领域的重要内容和基本工具
粗糙集理论是一种处理模糊和不确定知识的数学工具,利用已知的知识库,通过上近似算子和下近似算子来近似刻画和处理不精确的知识。它已经被广泛应用于医学、机器学习、决策分析
现在国际上的大口径兼大视场望远镜有美国的Sloan数字巡天望远镜,英澳天文台的2dF巡天望远镜,我国的LAMOST巡天望远镜等。它们将得到海量的光谱数据。通过观测获得恒星的光谱
随着科学技术日新月异的发展和软件规模的不断扩大,软件在各个行业得到了广泛的运用,已经成为生活中不可分割的组成部分。虽然软件经过严格的测试,但是每千行代码中平均仍然有10
当今的互联网处于大数据爆炸的知识时代,每天都会产生各种类型、各种结构的海量数据资源等待有效利用和深层挖掘。其中文献数据是科研人员进行相关学术研究,产生新的研究成果
随着社会经济的发展,经济活动水平的不断提高,每年人工爆破的发生频数越来越多。在地震观测台站观测到的波形数据中,如果不作适当处理极易将人工爆炸与天然地震相混淆,地震与爆炸
随着网络的普及,信息时代的到来,人们日常生活所面临的数据已经非常巨大,如何围绕这些数据建立数据仓库、进行数据挖掘和数据分析正逐步成为数据处理的主题。如何快速准确分
随着信息社会的不断发展,军人接触互联网的机会已大大增加,军人在网络上的活动日益频繁。部分现役和退伍军人喜欢在一些网络论坛和社交网站(如QQ,人人网等)中上传自己的军装照片,
自2006年Google提出云计算概念以来,云计算从备受业界质疑的概念炒作成为如今越来越成熟的技术服务形态。在云计算提供的众多服务类型里,存储服务成为我们最为直接使用的一种