PLDCMSNEPFApr 27, 2018

Tiramisu: A Polyhedral Compiler for Expressing Fast and Portable Code

arXiv:1804.10694v5310 citations
Originality Incremental advance
AI Analysis

This addresses the challenge of writing portable and fast code for developers in areas such as image processing and deep learning, though it is incremental as it builds on existing polyhedral models.

The paper tackles the problem of generating high-performance code across multiple hardware platforms by introducing Tiramisu, a polyhedral compiler framework that matches or outperforms state-of-the-art compilers and libraries on benchmarks like image processing and deep learning.

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.

Code Implementations3 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes