Load-balancing among the threads of a GPU for graph analytics workloads is difficult because of the irregular nature of graph applications and the high variability in vertex degrees, particularly in power-law graphs. We describe a novel load balancing scheme to address this problem. Our scheme is implemented in the IrGL compiler to allow users to generate efficient load balanced code for a GPU from high-level sequential programs. We evaluated several graph analytics applications on up to 16 distributed GPUs using IrGL to compile the code and the Gluon substrate for inter-GPU communication. Our experiments show that this scheme can achieve an average speed-up of 2.2x on inputs that suffer from severe load imbalance problems when previous state-of-the-art load-balancing schemes are used.
@article{arxiv.1911.09135,
title = {An Adaptive Load Balancer For Graph Analytical Applications on GPUs},
author = {Vishwesh Jatala and Loc Hoang and Roshan Dathathri and Gurbinder Gill and V Krishna Nandivada and Keshav Pingali},
journal= {arXiv preprint arXiv:1911.09135},
year = {2020}
}