• Stars
    star
    184
  • Rank 209,187 (Top 5 %)
  • Language
  • Created about 5 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Resources on the GraphBLAS standard for graph algorithms in the language of linear algebra

GraphBLAS Pointers

Notation:

  • ⭐ if you're new to GraphBLAS, check out these pointers first
  • 🔨 theory-focused
  • 🔧 implementation-focused
  • 🛠️ mix of theory and implementation
  • 📖 detailed specification

Community sites

Selected readings and presentations

GraphBLAS design papers

Tutorials

Specifications

Algorithms

Generic

Traversals, max-flow, and shortest paths

Connected components

Triangle counting, k-truss, clustering coefficient, etc.

Context-free path querying (CFPQ)

Community detection

Other

Presentations

Overviews on GraphBLAS and linear algebra-based graph processing

Minisymposium at SIAM CSE'21: GraphBLAS: Tools, Algorithms, and Applications

Books

  • Graph Algorithms in the Language of Linear Algebra (SIAM, 2011) by Jeremy Kepner and John R. Gilbert
    • This is the best reference on the topic of linear algebra-based graph processing. However, note that GraphBLAS effort was not yet started when this book was written. Therefore, there are some differences between the notation of GraphBLAS documents and the one used in this book.
  • Mathematics of Big Data: Spreadsheets, Databases, Matrices, and Graphs (MIT Press, 2018) by Jeremy Kepner and Hayden Jananthan
    • An updated version of paper Mathematical Foundations of the GraphBLAS is reprinted in this book (Chapter 6, p81-113)
    • This book is currently the latest detailed reference on semiring-based computations, including graph algorithms. It also covers many other topics such as associative arrays. The book is not intended to be a GraphBLAS reference, but it can be used for providing a background in linear algebra (see e.g. Chapter 8, "Visualizing the Algebra of Associative Arrays").
  • Path Problems in Networks (Morgan & Claypool Publishers, 2010) by John S. Baras and George Theodorakopoulos.
    • This book is about the algebraic path problem – a semiring-based generalization of shortest path problem. The mathematical foundations of semiring-based graph analysis are described. Basic ideas to create new semirings to solve new problems are described.
    • The section 3.1 "Alternative viewpoints: paths and matrices" (p17-19) provides a matrix-based framework for the algebraic path problem which is highly relevant to GraphBLAS.
    • The table on pages 58-59 contains 29 different semirings and respective applied problems.

Implementations

Core implementations

Other implementations

Wrappers

See also the ongoing design of the GraphBLAS C++ API and its rgri reference implementation.

Related libraries

RedisGraph

Graphulo

You can also find many papers, posters, and presentations in the Accumulo repository.

Events

year IPDPS workshop HPEC
2023 GrAPL 2023 HPEC 2023
2022 GrAPL 2022 HPEC 2022
2021 GrAPL 2021 HPEC 2021
2020 GrAPL 2020 HPEC 2020
2019 GrAPL 2019 HPEC 2019
2018 GABB 2018 HPEC 2018
2017 GABB 2017 HPEC 2017
2016 GABB 2016 HPEC 2016
2015 GABB 2015 HPEC 2015
2014 GABB 2014 HPEC 2014
2013 HPEC 2013

News, interviews, popular science

Typesetting

The nicematrix LaTeX package can be used to typeset block matrices.

Related work

Source code

The source of this page is available at https://github.com/GraphBLAS/GraphBLAS-Pointers.

More Repositories

1

LAGraph

This is a library plus a test harness for collecting algorithms that use the GraphBLAS. For test coverage reports, see https://graphblas.org/LAGraph/ . Documentation: https://lagraph.readthedocs.org
C
228
star
2

rgri

Reference implementation of the draft C++ GraphBLAS specification.
C++
27
star
3

python-suitesparse-graphblas

Python CFFI Binding around SuiteSparse:GraphBLAS
C
19
star
4

binsparse-specification

A cross-platform binary storage format for sparse data, particularly sparse matrices.
Jupyter Notebook
15
star
5

graphblas-api-cpp

GraphBLAS C++ API Specification.
TeX
10
star
6

graphblas-api-c

TeX
7
star
7

graphblas.github.io

Source code for graphblas.org
6
star
8

binsparse-reference-cpp

A C++ reference implementation for the Binsparse binary sparse format specification https://github.com/GraphBLAS/binsparse-specification.
C++
6
star
9

GraphBLAS_proposals

Manage proposals for changes to the API Specification
TeX
5
star
10

HPEC21-TriangleCentrality

Repo for Triangle Centrality Paper
Julia
4
star
11

GrAPL19

This is the latex source for our GrAPL19 paper
TeX
3
star
12

LAGraph-Working-Group

Public document and planning repository for the LAGraph Working Group
TeX
3
star
13

Spec_working_group

This is a repository for notes, meeting minutes, and other materials relevant to our work to define GraphBLAS specifications.
1
star
14

LAGraph-Website

1
star
15

LAGraph-Docs

TeX
1
star
16

python-graphblas

Namespace Package for Python GraphBLAS backends.
1
star
17

python-lagraph

Base CFFI Binding to LAGraph Library.
1
star
18

GrAPL21-LAGraph

TeX
1
star
19

graphblas-api-math

A language independent math specification of the graphblas operation.
TeX
1
star