The GraphBLAS

Mike's Notes

 Alex found this. It might be useful. For future reference.

The original webpage has the links, and the graphic looks better.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

05/01/2026

The GraphBLAS

By: 
GraphBlas: 5/01/2026

.

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

An example graph and adjacency matrix

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

  • The GraphBLAS Wikipedia Page
  • The C reference implementation is SuiteSparse:GraphBLAS, which implements the version 2.1.0 (final) C API.
  • 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.
  • The Mathematics of Big Data by J. Kepner and H. Jananthan is the first book to present the common mathematical foundations of big data analysis across a range of applications and technologies.
  • A straw man proposal for the GraphBLAS can be found here
  • Gabor Szarnyas maintains a list of GraphBLAS pointers with lots of tutorial material.

Application Program Interface (API)

Current versions

  • GraphBLAS C API, version 2.0.0 (November 15, 2021)
  • GraphBLAS C API, version 2.1.0 (December 22, 2023)

Legacy versions

Version 1.0 (provisional) of the C language API was released on May 29, 2017 at the GABB workshop here. Version 1.1.0 (provisional) released on November 14, 2017. Version 1.2.0 was released on May 18, 2018. Version 1.3.0 was released on September 25, 2019.

Projects developing implementations of the GraphBLAS

  • SuiteSparse GraphBLAS (Texas A&M)
  • IBM GraphBLAS
  • GraphBLAS Template Library, GBTL (CMU-SEI/Indiana/PNNL)
  • GraphBLAST (UC Davis and LBNL)
  • MPI/C++ Combinatorial BLAS (CombBLAS)
  • Java Graphulo
  • Matlab/Octave D4M
  • GraphPad (Intel)

Programming Language Interfaces to The GraphBLAS API

  • MATLAB (comes with SuiteSparse). MATLAB R2021a and later uses SuiteSparse:GraphBLAS v3.1 for C=A*B when A and B are sparse. Release Notes, under Performance.
  • forGraphBLASGo - Go binding for SuiteSparse:GraphBLAS
  • pygraphblas Python library
  • python-graphblas Python library
  • pggraphblas Postgres extension
  • Julia library

Graph analysis systems that integrate GraphBLAS

  • FalkorDB - a queryable Property Graph database - formerly RedisGraph

Workshops and conferences featuring the GraphBLAS (reverse chronological)

  • Graphs, Architectures, Programming, and Learning (GrAPL) @IPDPS
  • High Performance Extreme Computing (HPEC)
  • GraphChallenge.org
  • SIAM CSE’21 GraphBLAS Minisymposium Session 1
  • SIAM CSE’21 GraphBLAS Minisymposium Session 2
  • SIAM CSE’21 GraphBLAS Tutorial Session 1
  • SIAM CSE’21 GraphBLAS Tutorial Session 2
  • HPEC 2020
  • HPEC 2019
  • HPEC 2018
  • GABB 2018 @IPDPS
  • HPEC 2017
  • GABB 2017 @IPDPS
  • HPEC 2016
  • GABB 2016 @IPDPS
  • HPEC 2015
  • GABB 2015 @IPDPS
  • HPEC 2014
  • GABB 2014 @IPDPS
  • HPEC 2013

Videos and other interesting discussions on GraphBLAS

  • GraphBLAS Forum Update at SC’25 (November 19, 2025)
  • GraphBLAS Forum Update at SC’22 (November 15, 2022)
  • Graph Analytics, by Tim Mattson and Henry Gabb, Intel
  • Short video description of GraphBLAS
  • HPEC’20 presentation on GraphBLAS in Python and MATLAB
  • Presentation at UT Austin
  • A good discussion thread on dropping explicit zeros (fall 2019)
  • A YouTube video playlist on GraphBLAS topics

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 (NJIT)
  • Aydin Buluc (Berkeley Lab)
  • John Gilbert (UC Santa Barbara)
  • Jeremy Kepner (MIT Lincoln Laboratory Supercomputing Center)
  • Tim Mattson (Intel)
  • Henning Meyerhenke (KIT)

The GraphBLAS is supported by the following organizations


The GraphBLAS logo is licensed under CC BY 4.0 (designer: Jakab Rokob)

No comments:

Post a Comment