Sparse tensor & array compilation

Mosaic: An Interoperable Compiler for Tensor Algebra

A tensor algebra compiler, built on TACO, that binds parts of an expression to external hand-tuned functions from other libraries and generates the rest, searching for the best mapping.

C++

The problem

No single compiler produces the best code for every tensor sub-computation — specialized libraries often win — but mixing library calls with generated code by hand is brittle.

The idea

Let users register external functions, automatically search for expression fragments that can be bound to them, verify the bindings, and generate code for whatever is left.

How it fits the group's work

Mosaic addresses a practical form of the portability problem: making a compiler interoperate with the ecosystem of existing tensor libraries instead of competing with it. It extends TACO so that the best available implementation — generated or hand-tuned — can be chosen per sub-expression.

Key publications

All software