Mathematical Foundations of the GraphBLAS
Authors:
- Jeremy KepnerJKJeremy Kepner
- Peter AaltonenPAPeter Aaltonen
- David BaderDBDavid Bader
- Aydın BulucABAydın Buluc
- Franz FranchettiFFFranz Franchetti
- John GilbertJGJohn Gilbert
- Dylan HutchisonDHDylan Hutchison
- Manoj KumarMKManoj Kumar
- Andrew LumsdaineALAndrew Lumsdaine
- Henning MeyerhenkeHMHenning Meyerhenke
- Scott McMillanSMScott McMillan
- Jose MoreiraJMJose Moreira
Preprint
Abstract
The GraphBLAS standard (GraphBlas.org) is being developed to bring the potential of matrix based graph algorithms to the broadest possible audience. Mathematically the Graph- BLAS defines a core set of matrix-based graph operations that can be used to implement a wide class of graph algorithms in a wide range of programming environments. This paper provides an introduction to the mathematics of the GraphBLAS. Graphs represent connections between vertices with edges. Matrices can represent a wide range of graphs using adjacency matrices or incidence matrices. Adjacency matrices are often easier to analyze while incidence matrices are often better for representing data. Fortunately, the two are easily connected by matrix mul- tiplication. A key feature of matrix mathematics is that a very small number of matrix operations can be used to manipulate a very wide range of graphs. This composability of small number of operations is the foundation of the GraphBLAS. A standard such as the GraphBLAS can only be effective if it has low performance overhead. Performance measurements of prototype GraphBLAS implementations indicate that the overhead is low.Keywords
All Related Versions
- Version 1, 2016-06-18, ArXiv
- Version 2, 2016-07-14, ArXiv
- Published version: , 1.