Background

What is sparsity? It is any tensor that is mainly comprised of 0s.

Machine Learning Frameworks

Two types:

  • Define by run
    • Similar to interpreted languages
  • Define and run
    • Similar to compiled languages

Compilers for Machine Learning

High level computational graph representations and do optimizations on them, similar to regular.

Compilers for Sparsity

TACO: Introduces storage methods for sparse tensors. Generalized sparse tensor expressions

PyTorch Optimizations

Torch.compile() is a Just-in-Time (JIT) compilation method.

Optimizing Graphs for Spacial Neural Networks

GNNS rely heavily on sparse matrix multiplications (SpMM)

SpMM dominates GNN execution time due to the sparsity of real-world graphs.

Performance depends significantly on the choice of sparse matrix format.