论文导读 | 加速GPU上的三角形计数算法

图片

 

北京大学 胡琳

 

编者按

北京大学数据管理实验室胡琳博士关于三角形计数的论文《Accelerating triangle counting on GPU》被SIGMOD2021接收。

三角形计数是图上的重要算子,近年来三角形计数算法在GPU上获得了很好的加速效果。我们提出了轻量级的预处理策略,使得这种策略对于许多当前最优的GPU三角形计数算法都有提升。我们通过在许多算法中总结相同的计算模式,并从中抽取出分析模型,总结常见的预处理策略是如何对于GPU上的工作负载均衡和资源使用均衡产生影响的。我们证明这些问题的求解是NP难的,进而给出我们的解决方案。最终我们的算法在许多当前最优的算法上都有显著的性能提升。

图片

图片

 

背景介绍

 

 

 

三角形计数算法是图上一个重要的图算子,是许多其他算法(例如k-truss)的基础,同时在计算图的聚集系数,垃圾邮件的检测,推荐算法等方面也有许多实际的应用。

随着要处理的图的规模的增加,CPU逐渐显示出处理和运算能力的不足,因而拥有更高计算能力和更高带宽的GPU越来越受到人们的青睐。GPU设计之初是进行图像的处理,但是由于其出色的性能,许多图算法都迁移到GPU上做,例如BFS算法[1],单源最短路径[2]和子图匹配[3]等算法,都在GPU上实现了非常好的加速效果。

本文中我们研究的也是在GPU上设计的三角形计数算法。目前已经有很多GPU三角形计数实现,这里我们不是提出一种新的算法,而是设计一个对于许多当前算法都有效的方案。我们通过对于原始图数据的处理,包括边的导向和点的重标号,使图能够更加适应GPU的底层架构;从而在不改变三角形计数实现的情况下,对于许多当前主流的三角形计数算法都有提升。

目前GPU上进行图算法(包括三角形计数算法)的处理,主要存在两个问题。首先由于图的不规则性,不同的线程在获得不同的任务单元的时候(例如处理一个点或者一条边的相关任务),很难避免地会出现获得的任务不均衡的情况,由于GPU底层架构中SIMD的特性,这种任务的不均衡会导致整体

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值