SuiteSparse:GraphBLAS is a full implementation of the GraphBLAS standard (graphblas.org), which defines a set of sparse matrix operations on an extended algebra of semirings using an almost unlimited variety of operators and types.  When applied to sparse adjacency matrices, these algebraic operations are equivalent to computations on graphs.  GraphBLAS provides a powerful and expressive framework for creating graph algorithms based on the elegant mathematics of sparse matrix operations on a semiring.


Download:

SuiteSparse:GraphBLAS 2.2.0-beta2





The stable version appears as part of SuiteSparse.  This page includes the most recent update, all prior versions, and a few GraphBLAS extras.


GraphBLAS extras:


  1. ExactKronGen5: Massively-parallel Kronecker product computation.This package is a simple program for constructing a huge Kronecker product in parallel. It includes a top-level MPI-based program. It also includes a simple function (kron_submatrix) that can be used inside a larger MPI application, to run on a single MPI process or also without MPI at all. The function computes a submatrix of a larger Kronecker product and writes its submatrix to a uniquely-named file. Concatenating all such files together gives the resulting Kronecker product. The package uses GxB_kron in SuiteSparse:GraphBLAS.

  2. tri.tar.gz: triangle counting in GraphBLAS

  3. ktruss.tar.gz: K-truss computation in GraphBLAS


Papers (these also appear in the SuiteSparse/GraphBLAS/Doc folder):


  1. IEEE HPEC’18 paper:  Graph algorithms via SuiteSparse:GraphBLAS: triangle counting and K-truss, T. Davis, 2018.  Davis_HPEC18.pdf.

  2. Algorithm 9xx: SuiteSparse:GraphBLAS: graph algorithms in the language of sparse linear algebra, T. Davis, submitted to the ACM Trans. on Mathematical Software, 2018.  toms_graphblas.pdf


Older versions:  click here for the GraphBLAS archive.



Talks on GraphBLAS and RedisGraph are linked below.  RedisGraph+GraphBLAS is the topic of the first 7 minutes, 20 seconds of the first talk.  The second talk is longer, and is only on RedisGraph and GraphBLAS.










Acknowledgements:  SuiteSparse:GraphBLAS would not be possible without the concerted and long-term efforts of the GraphBLAS.org community -- in particular, the GraphBLAS C API Specification Committee:  Aydın Buluç (LBNL), Tim Mattson (Intel), Scott McMillan (CMU), José Moreira (IBM), and Carl Yang (CMU), and the GraphBLAS Steering Committee:  David Bader (Georgia Tech), Aydın Buluç (LBNL), John Gilbert (UCSB), Jeremy Kepner (MIT Lincoln Lab), Tim Mattson (Intel), and Henning Meyerhenke (Humboldt Univ. Berlin).


The mathematical foundation of GraphBLAS is the topic of the book, Graph Algorithms in the Language of Linear Algebra, Edited by Jeremy Kepner and John Gilbert, SIAM, 2011, part of the SIAM Book Series on Software, Environments, and Tools.





SuiteSparse:GraphBLAS was developed with partial support from NSF grant 1514406.