About Tiramisu
Tiramisu is an open source polyhedral compiler for dense and sparse deep learning and other data parallel algorithms. Developers express an algorithm through a C++ API and separately specify how the compiler should optimize it, for example by parallelizing or vectorizing loops, and Tiramisu then generates the code.
Because it is built on the polyhedral model, it can express a wide range of loop optimizations and data layout transformations, handle non rectangular iteration spaces, and use dependence analysis to check that optimizations are correct. The site states that it is the only open source deep neural network compiler that optimizes sparse networks, and that it supports recurrent networks such as LSTMs, which have cycles in their data flow graphs. Current targets are multicore x86 CPUs, Nvidia GPUs, Xilinx FPGAs through Vivado HLS, and distributed machines using MPI. The design is meant to make it straightforward to add code generators for new architectures.
The site lists image processing, deep learning and scientific computing as typical uses, and links to build instructions, tutorials and a comparison with Halide and TVM. It also shows performance charts against MKL DNN, sparse MKL and cuDNN.
Tiramisu is aimed at compiler engineers and performance focused developers rather than general application teams. The project is open source and the site publishes no pricing.