Title
GBTLX: A First Look
Abstract
We provide a first look at GBTLX, a code generator that translates graph processing programs written using the GraphBLAS Template Library (GBTL) into high-performance C programs that match the performance of hand-tuned implementations. GBTLX refactors code written using GBTL into problems that capture the signature of algorithms and solvers that capture the semantics (input/output behavior of algorithms. Users provide classes that implement these two aspects using standard GBTL functions and encapsulate the targeted algorithm. GBTLX then performs a sequence of inspection, code generation, and high-performance execution. First, the user code is traced while running with the original GBTL. Then, the trace is used to define the semantics and signature of the algorithm to be produced in code generation. The SPIRAL system is used to generate high-performance C code that implements the user-specified algorithm, specializing the code for algorithm and hardware-dependent optimizations. Finally, the user-provided GBTL-based implementation is replaced by the SPIRAL generated C code. For triangle counting and k-truss enumeration, the resulting executables provide performance equivalent to hand-tuned implementations, while the source code is maintainable as it only uses the C++ GBTL library.
Year
DOI
Venue
2020
10.1109/HPEC43674.2020.9286231
2020 IEEE High Performance Extreme Computing Conference (HPEC)
Keywords
DocType
ISSN
user-provided GBTL,C code,performance equivalent,hand-tuned implementations,source code,C++ GBTL library,code generator,graph processing programs,GraphBLAS Template Library,GBTLX refactors code,semantics,standard GBTL functions,targeted algorithm,code generation,high-performance execution,user code,original GBTL,user-specified algorithm
Conference
2377-6943
ISBN
Citations 
PageRank 
978-1-7281-9220-8
0
0.34
References 
Authors
6
5
Name
Order
Citations
PageRank
Sanil Rao100.34
Anurag Kutuluru200.34
Paul Brouwer300.34
Scott Mcmillan49315.01
Franz Franchetti597488.39