A Fast SpGEMM Implementation

By Altan Haan
Category: projects

Background

SpGEMM is the problem of computing the (matrix) product of two sparse matrices.

It has a few uses:

  • graph algorithms, e.g. triangle counting
  • machine learning, e.g. graph neural networks
  • quantum chemistry

Questions

  • Can I reproduce existing optimized algorithms using Finch?
  • Parallel implementations of SpGEMM can have quite a few hyperparameters (see e.g. the heuristics within SuiteSparse:GraphBLAS). How can we tune these hyperparameters efficiently and automatically?

References