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 the latest version,

Now with OpenMP parallelism:

SuiteSparse:GraphBLAS 3.0.1


Draft pre-release, with MATLAB interface:

SuiteSparse:GraphBLAS 3.1.0-draft


Click here for my blog on GraphBLAS and other topics.





GraphBLAS also appears as part of SuiteSparse (typically at a slower release cycle than this page).  This page includes the most recent update,  and an archive of all prior versions.


Papers (the ACM TOMS paper also appears 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.


For GraphBLAS developers, click here for detailed doxygen documentation.


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.











  

RedisGraph v1.0 released: Nov 15, 2018


“By representing the data as sparse matrices and employing the power of GraphBLAS (a highly optimized library for sparse matrix operations), RedisGraph delivers a fast and efficient way to store, manage and process graphs. In fact, our initial benchmarks are already finding that RedisGraph is six to 600 times faster than existing graph databases!” (caveat: the TigerGraph results on the blog will be updated soon).



LAGraph: a library of graph algorithms that rely on GraphBLAS:


LAGraph is a new collaborative effort to develop graph algorithms that rely on GraphBLAS.   You can download the package at https://github.com/GraphBLAS/LAGraph.





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).


I would also like to thank MIT Lincoln Lab, NVIDIA, Intel, Redis Labs, IBM, and the National Science Foundation for their support.


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.




 

Developed with support from NVIDIA, Intel, MIT Lincoln Lab, Redis Labs, IBM, and the National Science Foundation.