GPU 上的并行 K-团计数
分布式、并行与集群计算
2022-06-07 v2 数据结构与算法
摘要
在图中计数 k-团是图分析中的一个重要问题,具有许多应用,如社区检测与图划分。k-团计数通常通过从图中每个顶点出发遍历搜索树来完成。在 CPU 上并行化 k-团计数已被充分研究且存在许多解决方案。然而,在 GPU 上尚无高性能的 k-团计数方案。在 GPU 上并行化 k-团计数面临众多挑战,如需要提取细粒度多级并行、对负载不均衡敏感以及受限的物理内存容量。虽然在 GPU 上已有关于极大团查找与广义子图匹配等相关问题的工作,但 k-团计数本身尚待深入探索。本文中,我们提出首个专门针对 k-团计数问题的并行 GPU 方案。我们的方案支持图定向与枢轴化以消除冗余团发现。它结合了以顶点为中心与以边为中心的并行化方案,将工作分配到线程块,并进一步在每个线程块内划分工作以提取细粒度多级并行,同时容忍负载不均衡。它还包括如诱导子图的二进制编码与子 warp 划分等优化,以限制内存消耗并提升执行资源的利用率。我们的评估显示,对于 k=4、7 和 10,我们最佳的 GPU 实现分别比最先进的并行 CPU 实现几何均值快 12.39x、6.21x 和 18.99x。我们还对并行化方案选择所涉及的权衡以及每项优化的增量加速比进行了详细评估,以深入理解优化空间。
引用
@article{arxiv.2104.13209,
title = {Parallel K-Clique Counting on GPUs},
author = {Mohammad Almasri and Izzat El Hajj and Rakesh Nagi and Jinjun Xiong and Wen-mei Hwu},
journal= {arXiv preprint arXiv:2104.13209},
year = {2022}
}