학술논문

Productive High-Performance k-Truss Decomposition on GPU Using Linear Algebra
Document Type
Conference
Source
2021 IEEE High Performance Extreme Computing Conference (HPEC) High Performance Extreme Computing Conference (HPEC), 2021 IEEE. :1-7 Sep, 2021
Subject
Communication, Networking and Broadcast Technologies
Computing and Processing
Productivity
Conferences
Memory management
Graphics processing units
Linear algebra
Manuals
Optimization
Language
ISSN
2643-1971
Abstract
The k-truss decomposition algorithm aims to find the cohesive subgraphs in a graph. It includes a two-step procedure of triangle counting and weak edge deletion. Due to the significant differences of graph typologies, the best performer appearing in the last year’s MIT/IEEE/Amazon GraphChallenge presents to manually explore a well-optimized combination from many k-truss techniques for each graph dataset, but this requires expertise from multiple disciplines. Linear algebra provides a unified framework to write parallel and scalable k-truss decomposition algorithm easily. However, the work imbalance and low memory efficiency remain. In this work, we propose a productive yet efficient k-truss decomposition implementation on GPU based on the fine-grained linear algebra. We propose a preprocessing method that renumbers the vertices to eliminate the longest adjacency list to balance the workloads and putting the adjacency list of the same source vertex into shared memory that exploits the shared memory effectively to improve memory access efficiency. Results show that our approach outperforms a linear algebra based implementation– eager (a champion in 2019) by up to 24.81× and a manual optimization KTRUSSEXPLORER by up to 2.69×.