@inproceedings{6d1346ec7f444bbc90456dd93e0c9a8b,
title = "HyKernel: A Hybrid Selection of One/Two-Phase Kernels for Triangle Counting on GPUs",
abstract = "We present a new two-phase dynamic triangle counting approach on GPUs. The approach targets graphs with high maximum degrees and high degree standard deviations. The first phase analyzes the edges of the graph and determines the most appropriate list intersection method and thread granularity that achieve the highest performance for each edge. The second phase performs the list intersection based on the decisions made in the first phase. In addition, we improve our static triangle counting kernels used in the two-phase approach, namely the two-pointer and binary-search intersections by (1) introducing a hierarchical binary-search approach that loads the initial levels of the logical search tree into the GPU fast shared memory to reduce redundant accesses to global memory, and (2) reducing search space when the graph is oriented by vertex ID. We also present HyKernel, a hybrid approach that selects between our two-phase dynamic and our 2019 one-phase dynamic approaches using simple heuristics. Lastly, a study of the impact of two graph orientation approaches on the graph preprocessing times and kernel times for our 2019 approach and the proposed two-phase approach are provided. For evaluation, we compare our two-phase and HyKernel approaches with our 2019 submission and the 2019 Champion approach, H-Index. When orienting the graph by vertex ID, our proposed two-phase and HyKernel approaches significantly outperform the H-Index with geomean speedups of 4.0x (up to 31.2x) and 5.1x (up to 31.2x), resp. Our proposed two-phase and HyKernel approaches significantly outperform the H-Index with geomean speedups of 4.7x (up to 26.8x) and 7.2x (up to 43.6x) with vertex degree orientation, resp.",
keywords = "CUDA, GPU, dynamic selection strategy, graph algorithms, triangle counting",
author = "Mohammad Almasri and Neo Vasudeva and Rakesh Nagi and Jinjun Xiong and Hwu, {Wen Mei}",
note = "Publisher Copyright: {\textcopyright} 2021 IEEE.; 2021 IEEE High Performance Extreme Computing Conference, HPEC 2021 ; Conference date: 20-09-2021 Through 24-09-2021",
year = "2021",
doi = "10.1109/HPEC49654.2021.9622856",
language = "English (US)",
series = "2021 IEEE High Performance Extreme Computing Conference, HPEC 2021",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
booktitle = "2021 IEEE High Performance Extreme Computing Conference, HPEC 2021",
address = "United States",
}