Graph Pattern Mining (GPM) extracts higher-order information in a large graph by searching for small patterns of interest. GPM applications are computationally expensive, and thus attractive for GPU acceleration. Unfortunately, due to the complexity of GPM algorithms and parallel hardware, hand optimizing GPM applications suffers programming complexity, while existing GPM frameworks sacrifice efficiency for programmability. Moreover, little work has been done on GPU to scale GPM computation to large problem sizes. We describe G2Miner, the first Graph Pattern Mining (GPM) framework that runs on multiple GPUs. G2Miner uses pattern-aware, input-aware and architecture-aware search strategies to achieve high efficiency on GPUs. To simplify programming, it provides a code generator that automatically generates pattern-aware CUDA code. G2Miner flexibly supports both breadth-first search (BFS) and depth-first search (DFS) to maximize memory utilization and generate sufficient parallelism for GPUs. For the scalability of G2Miner, we use a customized scheduling policy to balance work among multiple GPUs. Experiments on a V100 GPU show that G2Miner achieves average speedups of 5.4x and 7.2x over two state-of-the-art single-GPU systems, Pangolin and PBE, respectively. In the multi-GPU setting, G2Miner achieves linear speedups from 1 to 8 GPUs, for various patterns and data graphs. We also show that G2Miner on a V100 GPU is 48.3x and 15.2x faster than the state-of-the-art CPU-based system, Peregrine and GraphZero, on a 56-core CPU machine.
翻译:GPM 图形模式( GPM ) 通过寻找小兴趣模式在大图中提取更高顺序的信息。 GPM 应用程序计算成本昂贵,因此对 GPU 加速具有吸引力 。 不幸的是, 由于 GPM 算法和平行硬件的复杂性, 手优化 GPM 应用的GPM 程序会面临程序复杂, 而现有的 GPM 框架会牺牲编程效率 。 此外, 在 GPU 将 GPM 计算规模缩小到大问题大小时, 在 GPU 上没有做多少关于GPM (GGMM) 的第一个图形模式采矿( GPM) 框架。 G2 Miner 使用模式、 投入和 建筑- 系统搜索策略( GPPW ) 来提高 GPPPW 效率。 在 1 GPPO2 中, 实验GPO2 显示GGGPO 平均速度系统, 在 1 GGPO2 中, 在 1 GGPO2 中, 在 1 GGPO- GPO 平均系统上, 显示 GGPO 平均速度设置中, 在1 GGGPO2 中, 在1 GGGPO2 速度系统中, 在1 GGGPOPO- PS- PSO- PS- PS- PSOS- s