This paper introduces Tiramisu, a polyhedral framework designed to generate high performance code for multiple platforms including multicores, GPUs, and distributed machines. Tiramisu introduces a scheduling language with novel extensions to explicitly manage the complexities that arise when targeting these systems. The extensions include explicit communication, synchronization, and mapping buffers to different memory hierarchies. Tiramisu relies on a flexible representation based on the polyhedral model and explicitly uses a well-defined four-level IR that allows full separation between the algorithms, loop transformations, data-layouts , and communication. This separation simplifies targeting multiple hardware architectures with the same algorithm. We evaluate Tiramisu by writing a set of image processing and stencil benchmarks and compare it with state-of-the-art compilers  . We show that Tiramisu matches or outperforms existing compilers  on different hardware architectures, including multicore CPUs, GPUs, and distributed machines.
This paper introduces Tiramisu, a polyhedral framework designed to generate high performance code for multiple platforms including multicores, GPUs, and distributed machines. Tiramisu introduces a scheduling language with novel extensions to explicitly manage the complexities that arise when targeting these systems. The framework is designed for the areas of image processing, stencils, linear algebra and deep learning. Tiramisu has two main features: it relies on a flexible representation based on the polyhedral model and it has a rich scheduling language allowing fine-grained control of optimizations. Tiramisu uses a four-level intermediate representation that allows full separation between the algorithms, loop transformations, data layouts , and communication. This separation simplifies targeting multiple hardware architectures with the same algorithm. We evaluate Tiramisu by writing a set of image processing , deep learning, and linear algebra benchmarks and compare them with state-of-the-art compilers and hand-tuned libraries . We show that Tiramisu matches or outperforms existing compilers and libraries on different hardware architectures, including multicore CPUs, GPUs, and distributed machines.
R
extensions include explicit communication, synchronization, and mapping buffers to different memory hierarchies. Tiramisu
framework is designed for the areas of image processing, stencils, linear algebra and deep learning. Tiramisu has two main features: it
R
explicitly uses a well-defined
it has a rich scheduling language allowing fine-grained control of optimizations. Tiramisu uses a
R
IR
intermediate representation
R
data-layouts
data layouts
R
and stencil
, deep learning, and linear algebra
R
it
them
A
and hand-tuned libraries
A
and libraries