InfiniTensor/ninetoothed
A domain-specific language (DSL) based on Triton but providing higher-level abstractions.
解決的問題
NineToothed 簡化了高效率 GPU 內核的建立。它透過提供一種領域特定語言(DSL),消除撰寫低階 GPU 程式碼時通常伴隨的複雜性,使過程更具可及性。
工作原理
它採用一種稱為 張量導向的元程式設計(TOM) 的範式,以及「排列並應用」的方法。開發者定義三個不同元件:arrangement(資料如何分塊與擴展)、application(實際運算邏輯)以及 tensors 本身。這些元件透過 ninetoothed.make 整合,產生基於 Triton 的內核。
適用對象
需要撰寫自訂高效率 GPU 內核,但希望使用比原始 Triton 或 CUDA 程式碼更高階抽象的開發者與研究人員。
主要特色
- 基於 Triton 的 DSL:利用 Triton 實現 GPU 性能。
- 排列並應用範式:分離資料佈局與運算邏輯,提升清晰度。
- 張量導向的元程式設計:簡化將高階張量運算對應至 GPU 硬體的過程。
相關
- 專案
- 專案
- 專案
- 專案
- 專案