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 硬體的過程。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案