中文

面向 GPU 优化的并行 Louvain 社区检测

分布式、并行与集群计算 2018-05-29 v1

摘要

社区检测如今在众多基于图的应用中是一项重要操作。它用于揭示真实世界网络中存在的群体,而不对社区集合施加先验的规模或基数约束。尽管潜力巨大,对并行计算机的支持却相当有限。原因主要在于算法的不规则性以及底层启发式方法隐含了顺序本质。本文提出了一种基于 GPU 的 Louvain 方法的并行化版本。Louvain 方法是一种用于模块度优化的多阶段迭代启发式方法。它最初由 Blondel 等人(2008)提出,因能以快速且内存高效的方式检测高模块度社区划分而日益流行。所使用的并行启发式方法首先由 Hao Lu 等人(2015)引入。由于 Louvain 方法本质上是顺序的,它限制了可扩展使用的可能性。得益于所提出的并行启发式方法,我观察到该方法在 GPU 上的表现。为评估,我使用 CUDA 在 GeForce GTX 980 GPU 上实现了该启发式方法,并采用来自 CERN 开发的 Collaboration Spotting 项目的组织图谱进行测试,该项目涉及专利与出版物以可视化其合作者间技术的关联。与在同一台配备所用 GPU 的机器上运行于 8 线程的并行 Louvain 实现相比,CUDA 实现能够产生与 CPU 生成结果相当的社区输出,同时使用 GeForce GTX 980 消费级 GPU 提供了高达 30 倍的绝对加速比。

关键词

引用

@article{arxiv.1805.10904,
  title  = {Parallel Louvain Community Detection Optimized for GPUs},
  author = {Richard Forster},
  journal= {arXiv preprint arXiv:1805.10904},
  year   = {2018}
}

备注

Submitting for review