A Roadmap for the GraphBLAS C++ API
- Resource Type
- Conference
- Authors
- Brock, Benjamin; Buluc, Aydin; Mattson, Timothy G.; McMillan, Scott; Moreira, Jose E.
- Source
- 2020 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2020 IEEE International. :219-222 May, 2020
- Subject
- Bioengineering
Communication, Networking and Broadcast Technologies
Components, Circuits, Devices and Systems
Computing and Processing
C++ languages
Libraries
Standards
Sparse matrices
Linear algebra
Containers
Optimization
- Language
The GraphBLAS are building blocks for expressing graph algorithms in terms of linear algebra. Currently, the GraphBLAS are defined as a C API. Implementations of the GraphBLAS have exposed limitations in expressiveness and performance due to limitations in C. A move to $\mathrm {C}++$ should address many of these limitations while providing a simpler API. Furthermore, for methods based on user-defined types and operators, the performance should be significantly better. $\mathrm {C}++$ has grown into a pervasive programming language across many domains. We see a compelling argument to define a GraphBLAS $\mathrm {C}++$ API. This paper presents our roadmap for the development of a GraphBLAS $\mathrm {C}++$ API. Open issues are highlighted with the goal of fostering discussion and generating feedback within the GraphBLAS user community to guide us as we develop the GraphBLAS $\mathrm {C}++$ API.