# Graph BLAS Forum

## Contents

- 1 Goals and premises
- 2 More information
- 3 Application Program Interface (API)
- 4 Reference Implementations
- 5 Projects developing implementations of the GraphBLAS
- 6 Graph analysis systems that integrate GraphBLAS
- 7 Workshops and conferences featuring the GraphBLAS (reverse chronological)
- 8 GraphBLAS mailing list
- 9 Steering Committee (alphabetical)

# Goals and premises

The GraphBLAS Forum is an open effort to define standard building blocks for graph algorithms in the language of linear algebra.

We believe that the state of the art in constructing a large collection of graph algorithms in terms of linear algebraic operations is mature enough to support the emergence of a standard set of primitive building blocks. We believe that it is critical to move quickly and define such a standard, thereby freeing up researchers to innovate and diversify at the level of higher level algorithms and graph analytics applications. This effort was inspired by the Basic Linear Algebra Subprograms (BLAS) of dense Linear Algebra, and hence our working name for this standard is “the GraphBLAS”.

A key insight behind this work is that when a graph is represented by a sparse incidence or adjacency matrix, sparse matrix-vector multiplication is a step of breadth first search. By generalizing the pair of scalar operations involved in the linear algebra computations to define a semiring, we can extend the range of these primitives to support a wide range of parallel graph algorithms.

# More information

A C reference implementation, SuiteSparse:GraphBLAS, can be downloaded from here.

Our 2013 manifesto for this project can be found here.

The mathematical definition of the GraphBLAS can be found here.

Background information about graphs in the language of linear algebra can be found in the book: Graph Algorithms in the Language of Linear Algebra, edited by J. Kepner and J. Gilbert, SIAM, 2011.

A straw man proposal for the GraphBLAS can be found here.

# Application Program Interface (API)

Version 1.0 (provisional) of the C language API is released on May 29, 2017 at the GABB workshop [1].

Version 1.1.0 (provisional) is released on November 14, 2017.

Version 1.2.0 (no longer provisional) is released on May 18, 2018. It can be downloaded from here.

A short paper from IPDPSW'17 describes the rationale behind the C API design.

# Reference Implementations

SuiteSparse:GraphBLAS (latest version) can be downloaded from here.

# Projects developing implementations of the GraphBLAS

# Graph analysis systems that integrate GraphBLAS

# Workshops and conferences featuring the GraphBLAS (reverse chronological)

- HPEC 2019: Submission deadline May 17, 2019

- GrAPL 2019 @IPDPS: Workshop date May 20, 2019

# GraphBLAS mailing list

If you wish to join our effort (or just watch it), please send an email message to our mailing list coordinator.

# Steering Committee (alphabetical)

- David Bader (Georgia Tech)

- Tim Mattson (Intel)

- Henning Meyerhenke (KIT)