07-12, 16:05–16:35 (America/Chicago), Amphitheater 204
GraphBLAS solves graph problems using sparse linear algebra. We are using it to build graphblas-algorithms
, a fast backend to NetworkX. python-graphblas
is faster and more capable than scipy.sparse
for both graph algorithms and sparse operations. If you have sparse data or graph workloads that you want to scale and make faster, then this is for you. Come learn what makes GraphBLAS special--and fast!--and how to use it effectively.
Sparse data and graph problems appear in virtually all science and engineering disciplines. Nevertheless, adoption of sparse and graph techniques has been slow (so opportunity to exploit sparsity are plentiful)--perhaps because it's not always obvious to know when to apply them, or existing libraries are too slow or difficult to use. GraphBLAS can help. By expressing graph algorithms in the language of linear algebra, it can handle larger data in parallel and is versatile enough to express custom analyses and integrate into larger workflows.
In this talk, we will cover:
- How to recognize sparse or graph problems and when to use GraphBLAS
- Representing a graph as a sparse matrix
- The equivalence between graph problems and sparse problems
- How GraphBLAS extends linear algebra with masking and arbitrary semirings to be more capable and work-efficient than
scipy.sparse
- The underlying sparse data structures and how to efficiently convert to and from them
- Examples of graph algorithms written in
python-graphblas
- Using GraphBLAS as a backend to NetworkX via dispatching to
graphblas-algorithms
- Benchmarks comparing GraphBLAS, NetworkX, and
scipy.sparse
Come learn what makes GraphBLAS special--and fast!--and how to use it effectively.
I am a Senior Software Engineer at Anaconda, focused on graph analytics and sparse data. I am a member of the GraphBLAS C API committee and an author of the python-graphblas library.