GraphBLAST: A HighPerformance Linear Algebrabased Graph Framework on the GPU
Abstract
Highperformance implementations of graph algorithms are challenging to implement on new parallel hardware such as GPUs, because of three challenges: (1) difficulty of coming up with graph building blocks, (2) load imbalance on parallel hardware, and (3) graph problems having low arithmetic intensity. To address these challenges, GraphBLAS is an innovative, ongoing effort by the graph analytics community to propose building blocks based in sparse linear algebra, which will allow graph algorithms to be expressed in a performant, succinct, composable and portable manner. In this paper, we examine the performance challenges of a linear algebrabased approach to building graph frameworks and describe new design principles for overcoming these bottlenecks. Among the new design principles is exploiting input sparsity, which allows users to write graph algorithms without specifying push and pull direction. Exploiting output sparsity allows users to tell the backend which values of the output in a single vectorized computation they do not want computed. Loadbalancing is an important feature for balancing work amongst parallel workers. We describe the important loadbalancing features for handling graphs with different characteristics. The design principles described in this paper have been implemented in "GraphBLAST", the first opensource linear algebrabased graph framework on GPU targetingmore »
 Authors:

 Univ. of California, Davis, CA (United States); Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
 Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
 Univ. of California, Davis, CA (United States)
 Publication Date:
 Research Org.:
 Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
 Sponsoring Org.:
 USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR) (SC21)
 OSTI Identifier:
 1559814
 DOE Contract Number:
 AC0205CH11231
 Resource Type:
 Conference
 Resource Relation:
 Conference: ACS HPC and Data Analytics Workshop, Baltimore, MD, September 10, 2019
 Country of Publication:
 United States
 Language:
 English
 Subject:
 97 MATHEMATICS AND COMPUTING
Citation Formats
Yang, Carl, Buluc, Aydin, and Owens, John D. GraphBLAST: A HighPerformance Linear Algebrabased Graph Framework on the GPU. United States: N. p., 2019.
Web.
Yang, Carl, Buluc, Aydin, & Owens, John D. GraphBLAST: A HighPerformance Linear Algebrabased Graph Framework on the GPU. United States.
Yang, Carl, Buluc, Aydin, and Owens, John D. Fri .
"GraphBLAST: A HighPerformance Linear Algebrabased Graph Framework on the GPU". United States.
@article{osti_1559814,
title = {GraphBLAST: A HighPerformance Linear Algebrabased Graph Framework on the GPU},
author = {Yang, Carl and Buluc, Aydin and Owens, John D.},
abstractNote = {Highperformance implementations of graph algorithms are challenging to implement on new parallel hardware such as GPUs, because of three challenges: (1) difficulty of coming up with graph building blocks, (2) load imbalance on parallel hardware, and (3) graph problems having low arithmetic intensity. To address these challenges, GraphBLAS is an innovative, ongoing effort by the graph analytics community to propose building blocks based in sparse linear algebra, which will allow graph algorithms to be expressed in a performant, succinct, composable and portable manner. In this paper, we examine the performance challenges of a linear algebrabased approach to building graph frameworks and describe new design principles for overcoming these bottlenecks. Among the new design principles is exploiting input sparsity, which allows users to write graph algorithms without specifying push and pull direction. Exploiting output sparsity allows users to tell the backend which values of the output in a single vectorized computation they do not want computed. Loadbalancing is an important feature for balancing work amongst parallel workers. We describe the important loadbalancing features for handling graphs with different characteristics. The design principles described in this paper have been implemented in "GraphBLAST", the first opensource linear algebrabased graph framework on GPU targeting highperformance computing. The results show that on a single GPU, GraphBLAST has on average at least an order of magnitude speedup over previous GraphBLAS implementations SuiteSparse and GBTL, comparable performance to the fastest GPU hardwired primitives and sharedmemory graph frameworks Ligra and Gunrock, and better performance than any other GPU graph framework, while offering a simpler and more concise programming model.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2019},
month = {8}
}