flagos-ai/FlagGems
FlagGems is an operator library for large language models implemented in the Triton Language.
解決的問題
FlagGems 設計用於消除 AI 芯片特定軟體堆疊之間的碎片化。它解決了必須為不同 AI 加速器重寫或維護獨立程式碼庫的問題,讓 LLM 訓練與推論實現「一次開發,到處執行」的工作流程。
工作原理
這是一個以 Triton 語言實現的高性能、通用算子庫。透過註冊至 PyTorch ATen 後端,開發者可使用熟悉的 PyTorch API,而底層運算則由 Triton 內核執行。這提供了一種與後端無關的方法,支援超過 10 種不同硬體平台,無需使用者更動底層 API。
適用對象
- 希望在不修改 PyTorch 程式碼的前提下實現硬體加速的 模型開發者。
- 希望使用比 CUDA 更易讀、更友善的語言撰寫高效能內核的 內核開發者。
主要特色
- 廣泛的硬體支援:支援超過 10 種後端,適用於多樣化的 AI 加速器。
- PyTorch 相容性:與 PyTorch API 無縫整合,獨立於
torch.compile,支援急切模式(eager mode)。 - 基於 Triton:利用 Triton 實現與 CUDA 相當的效能,同時具備更佳的可讀性。
- 自動程式碼產生:內建自動逐點算子程式碼產生,支援任意輸入類型與佈局。
- 高效能分派:具備快速的函式級執行時內核分派能力。
相關
- 專案
- 專案
- 專案
- 專案
- 專案