Sparse tensor & array compilation

Scorch: An Optimized Sparse PyTorch

A library that adds sparse tensors and JIT-compiled kernels to PyTorch with a compatible API, automating loop ordering, tiling, and format inference for sparse machine-learning workloads.

Python C++

The problem

Sparse machine-learning models are held back by tooling — frameworks like PyTorch handle dense tensors well, but sparse kernels are slow, manual, and format-specific.

The idea

Bring sparse tensor algebra compilation into the machine-learning framework, and choose schedules and formats automatically so sparse operations run efficiently behind a familiar API.

How it fits the group's work

Scorch connects the group’s sparse compilation research to mainstream machine-learning practice. By presenting a PyTorch-compatible interface and choosing sparse schedules automatically, it aims to make sparse and irregular computation usable by people who are not compiler experts.

Key publications

All software