Tiramisu-Compiler/tiramisu
A polyhedral compiler for expressing fast and portable data parallel algorithms
解决的问题
Tiramisu 是一个旨在生成快速、可移植且高度优化的数据并行计算的编译器。它简化了编写计算密集型任务(如深度学习、张量代数和图像处理)算法的过程,并确保这些算法无需为每个平台重写代码,即可在不同硬件架构上高效运行。
工作原理
该编译器使用 C++ API(以及 Python 绑定)允许用户定义“Tiramisu 表达式”,以描述算法和期望的优化。它基于多面体模型,能够执行复杂的循环优化和数据布局变换。Tiramisu 随后为特定目标生成优化的机器代码,包括多核 X86 CPU、Nvidia GPU、Xilinx FPGA 以及使用 MPI 的分布式系统。
适用人群
适用于需要在多种计算后端上最大化硬件利用率的高性能计算(HPC)、机器学习和图像处理领域的开发人员和研究人员。
主要亮点
- 多平台支持:支持 CPU、GPU、FPGA 和分布式机器。
- 多面体模型:利用先进的数学模型进行循环和数据布局优化。
- 可扩展架构:设计为便于集成面向新兴硬件的新代码生成器。
- 灵活的 API:提供 C++ API 用于表达算法和优化。
相关
- 项目
- 项目
- 项目
- 项目
- 项目