引用本文:曹炜辰,孟轲,林志恒,谭光明.面向位图的K-团枚举问题GPU优化算法.软件学报,,():1-17
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 615次   下载 395 本文二维码信息
码上扫一扫!
分享到: 微信 更多
面向位图的K-团枚举问题GPU优化算法
曹炜辰1,2, 孟轲1,2, 林志恒1,2, 谭光明1,2
1.处理器芯片全国重点实验室(中国科学院 计算技术研究所), 北京 100190;2.中国科学院大学, 北京 100049
摘要:
K-团枚举是子图匹配中的一个重要问题, 位图算法被证明是求解K-团枚举问题的有效方法. 目前最先进的K-团枚举算法都采用GPU来加速. 先前工作没有关注真实世界图数据的稀疏性对基于位图的K-团枚举算法的影响, 而是在GPU上采用静态的并行方法和位图构造策略, 这导致GPU计算效率低下. 提出了基于thread并行的位图任务负载均衡调度算法, 在解决线程分歧问题的同时实现位图算法的高并行性. 随后, 提出了一种动态位图构造算法, 使得位图可以在合适的时机被构造并高效启用位图算法. 实现了一个GPU友好的K-团枚举问题求解系统KCMiner, 它可以自适应地选择K-团枚举任务的优化策略. 在GPU架构上的实验结果表明, 方法能够比K-团枚举的基线算法最大实现7.36倍的加速, 与子图匹配系统的基线算法相比最大实现30.2倍的加速.
关键词:  K-团枚举  子图匹配  位图算法  GPU  性能优化
DOI:10.13328/j.cnki.jos.007558
分类号:TP301
基金项目:国家自然科学基金 (T2125013, 62032023); 国家重点研发计划(2023YFB3001902)
GPU Optimization Algorithm for Bitmap-oriented K-clique Enumeration Question
CAO Wei-Chen1,2, MENG Ke1,2, LIN Zhi-Heng1,2, TAN Guang-Ming1,2
1.State Key Lab of Processors (Institute of Computing Technology, Chinese Academy of Sciences), Beijing 100190, China;2.University of Chinese Academy of Sciences, Beijing 100049, China
Abstract:
K-clique enumeration is an important problem in subgraph matching, and the bitmap algorithm has been proven to be an effective method for solving the K-clique enumeration problem. Currently, state-of-the-art K-clique enumeration algorithms are accelerated by GPU. Previous studies have not investigated the impact of sparsity in real-world graph data on bitmap-based K-clique enumeration algorithms. Instead, static parallelization methods and bitmap construction strategies are commonly used on GPU, which result in low computational efficiency. This study proposes a thread-parallel load-balancing scheduling algorithm for bitmap tasks, which resolves the thread divergence problem while achieving high parallelism in the bitmap algorithm. Furthermore, it introduces a dynamic bitmap construction algorithm, enabling bitmaps to be constructed and activated at appropriate times for efficient execution of the bitmap algorithm. A GPU-friendly K-clique enumeration system, KCMiner, is implemented, which adaptively selects optimization strategies for K-clique enumeration tasks. Experimental results on GPU platforms show that the proposed method achieves up to 7.36 times speedup over the baseline K-clique enumeration algorithm and up to 30.2 times speedup over the baseline subgraph matching system.
Key words:  K-clique enumeration  subgraph matching  bitmap algorithm  GPU  performance optimization