當 Kernel 名稱 含有 cutlass 前綴 時,FP8 的運算效能可提升約 100 TFLOPS (★
109 分)
在 GitHub 上,Triton 語言庫中有一項 Pull Request #7298,由 Mogball 提交,目標是在 Gluon 框架中加入「持續注意力」(persistent attention)機制,以提升低序列長度下的運算效能。該 PR 重寫了注意力 Kernel,並在說明中指出,若改用 8 位元浮點數 (fp8) 且將 Kernel 名稱加上 `cutlass_` 前綴,性能可提升約 100 TFLOPS (兆次浮點運算每秒)。
實際程式碼會檢查資料型別是否為 gl.float8e5,若符合就將原本的 Kernel 名稱改為 `cutlass_`+原名。這個命名約定觸發 NVidia 所提供的 CUTLASS (CUDA Templates for Linear Algebra Subroutines and Solvers,CUDA 線性代數範本函式庫) 路徑,使編譯器自動引用高度最佳化的 GPU 運算函式,從而在特定情境下大幅提升效能。
社群討論時不免將此作法與過去 Intel 編譯器檢測「GenuineIntel」識別字串、對非 Intel 平台回退到較慢例程的案例相提並論。有評論質疑這是否屬於不透明的作弊行為,也有人認為這是針對已知硬體特性所作的合理分支,並非刻意隱匿。
進一步有網友指出,原始推文把重點略顯斷章取義,真正情況是「在指定 Kernel 且改用 fp8 後取得性能提升」,而非發現祕密作弊。程式碼中對名稱前綴的顯式設定清楚可見,顯示維護者刻意為 8 位元浮點建立專用命名,以利用 CUTLASS 的最佳化優勢。此事也提醒開發者留意命名約定對效能的隱性影響,以及各大硬體廠商在公開程式中嵌入特殊分支所帶來的生態與倫理議題。
👥
40 則討論、評論 💬
https://news.ycombinator.com/item?id=44530581