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 用於表達演算法與優化。
相關
- 專案
- 專案
- 專案
- 專案
- 專案