Tiramisu-Compiler/tiramisu
A polyhedral compiler for expressing fast and portable data parallel algorithms
What it solves
Tiramisu is a compiler designed to create fast, portable, and highly optimized data-parallel computations. It simplifies the process of writing algorithms for computationally intensive tasks—such as deep learning, tensor algebra, and image processing—and ensures they run efficiently across different hardware architectures without requiring the developer to rewrite the code for each platform.
How it works
The compiler uses a C++ API (and Python bindings) to allow users to define "Tiramisu expressions" that describe the algorithm and the desired optimizations. It is based on the polyhedral model, which enables it to perform complex loop optimizations and data layout transformations. Tiramisu then generates optimized machine code for specific targets, including multicore X86 CPUs, Nvidia GPUs, Xilinx FPGAs, and distributed systems using MPI.
Who it’s for
It is intended for developers and researchers working in high-performance computing (HPC), machine learning, and image processing who need to maximize hardware utilization across diverse compute backends.
Highlights
- Multi-platform support: Targets CPUs, GPUs, FPGAs, and distributed machines.
- Polyhedral model: Leverages advanced mathematical models for loop and data layout optimization.
- Extensible architecture: Designed for easy integration of new code generators for emerging hardware.
- Flexible API: Provides a C++ API for expressing algorithms and optimizations.
Related
- Project
- Project
- Project
- Project
- Project