TurboBFS: GPU Based Breadth-First Search (BFS) Algorithms in the Language of Linear Algebra

IEEE Int Symp Parallel Distrib Process Workshops Phd Forum. 2021 Jun:2021:520-528. doi: 10.1109/ipdpsw52791.2021.00084. Epub 2021 Jun 24.

Abstract

Graphs that are used for modeling of human brain, omics data, or social networks are huge, and manual inspection of these graph is impossible. A popular, and fundamental, method used for making sense of these large graphs is the well-known Breadth-First Search (BFS) algorithm. However, BFS suffers from large computational cost especially for big graphs of interest. More recently, the use of Graphics processing units (GPU) has been promising, but challenging because of limited global memory of GPU's, and irregular structures of real-world graphs. In this paper, we present a GPU based linear-algebraic formulation and implementation of BFS, called TurboBFS, that exhibits excellent scalability on unweighted, undirected or directed sparse graphs of arbitrary structure. We demonstrate that our algorithms obtain up to 40 GTEPs, and are on average 15.7x, 5.8x, and 1.8x faster than the other state-of-the-art algorithms implemented on the SuiteSparse:GraphBLAS, GraphBLAST, and gunrock libraries respectively. The codes to implement the algorithms proposed in this paper are available at https://github.com/pcdslab.

Keywords: BFS; CUDA; GPU; graph parallel algorithms; linear algebra.