NVIDIA/tilus
Tilus is a tile-level kernel programming language with explicit control over shared memory and registers.
解決的問題
Tilus 透過提供一種領域特定語言(DSL),解決了 GPU 內核程式設計的複雜性,讓開發者無需手動管理每個線程即可撰寫高效能內核。它特別針對低精度運算,並提供比現有替代方案(如 Triton)更明確的硬體資源控制能力。
作法原理
Tilus 以線程區塊為粒度運作,使用張量作為主要資料類型。它允許程式設計師對共享記憶體和暫存器張量進行顯式控制,並支援 1 到 8 位之間任意位寬的低精度類型。該語言包含 Python 風格介面、自動調校與快取功能,以簡化開發流程。
適用對象
專為研究者與開發者設計,用於建構高效能 GPU 內核,特別是專注於低精度運算,或希望獲得比高階抽象提供的更細緻記憶體管理控制的使用者。
主要亮點
- 區塊級程式設計:聚焦於線程區塊與張量,而非單一線程。
- 硬體控制:提供對共享記憶體與暫存器張量的顯式控制。
- 低精度支援:支援 1 到 8 位之間的任意位寬。
- 高效率:在 Blackwell 與 Hopper GPU 上可達 cuBLAS 級別的效能。
- Python 風格介面:提供易於使用的 GPU 內核開發介面。
相關
- 專案
- 專案
- 專案
- 專案
- 專案