We present a GPU solution for exact maximal clique enumeration (MCE) that performs a search tree traversal following the Bron-Kerbosch algorithm. Prior works on parallelizing MCE on GPUs perform a breadth-first traversal of the tree, which has limited scalability because of the explosion in the number of tree nodes at deep levels. We propose to parallelize MCE on GPUs by performing depth-first traversal of independent sub-trees in parallel. Since MCE suffers from high load imbalance and memory capacity requirements, we propose a worker list for dynamic load balancing, as well as partial induced sub-graphs and a compact representation of excluded vertex sets to regulate memory consumption. Our evaluation shows that our GPU implementation on a single GPU outperforms the state-of-the-art parallel CPU implementation by a geometric mean of 4.9x (up to 16.7x), and scales efficiently to multiple GPUs. Our code will be open-sourced to enable further research on accelerating MCE.
翻译:我们提出了一个精确最大分类计数的GPU解决方案,根据Bron-Kerbosch算法进行搜索树跨度计算; 先前关于对GPU进行 MCE的平行工作,对树进行宽度第一跨度工作,由于深层树节数爆炸,其可缩放性有限; 我们提议通过同时对独立的亚树进行深度-第一次跨度工作,将GPU对GPU进行平行工作。 由于MCE存在高负载不平衡和记忆能力要求,我们提出了动态负载平衡工人名单,以及部分诱导子图和排除的顶端装置的压缩代表,以规范记忆消耗。 我们的评估表明,我们对于单个GPU的GPU实施比水平高4.9x(最高为16.7x)的几何平均值,并有效地对多个GPUS实施。 我们的代码将开放来源,以便能够进一步研究加速MCE的加速。