Simit and Taco: A Language and Compiler for Computing on Sparse Systems when Performance Matters

Speaker

Fredrik Kjolstad
MIT CSAIL

Host

Polina Golland
It is hard to write fast code, especially when data is sparse. We believe
languages and compilers can help. In this talk I will introduce Simit and
Taco, a new language and a compiler for computing on sparse systems using
linear and tensor algebra. Simit lets programmers seamlessly compute on
sparse system both as individual elements of a hypergraph, and as the
behavior of the entire system in the form of global vectors, matrices and
tensors. Simit provides a novel assembly construct that makes it
conceptually easy and computationally efficient to move between these two
abstractions. As a result, Simit programs are typically shorter than Matlab
programs yet are competitive with hand-optimized code and also run on GPUs.
Taco is a compiler for sparse linear and tensor algebra that compiles any
tensor expression to fast loops. Together, Simit and Taco provides
productivity and efficiency for sparse computations.