來源:市場資訊
(來源:華為計算)
在人工智能技術指數級迭代的今天,算力的邊界正被不斷突破,而軟件生態的開放與協同,則成為了釋放硬件潛力的關鍵鑰匙。作為一種Python DSL形式的算子編程語言,Triton基於Block的編程理念屏蔽了複雜硬件細節,並通過編譯器優化實現高性能算子。這些優點吸引了大量開發者圍繞Triton形成龐大的社區生態。然而Triton在細粒度控制存儲層和並行粒度上缺少抽象,導致算子性能難以進一步挖掘。
眾智FlagOS社區基於FlagTree(多芯片公共編譯器)提出了全新語言Triton-TLE(Triton Language Extentions),從三個層級擴展Triton能力,滿足開發者在算子開發上的不同需求。Triton-TLE通過FLIR(針對DSA的公共中間表示層)與AscendNPU IR(昇騰MLIR能力表達層)的深度適配,在昇騰上取得了里程碑式的落地成果。這不僅是一次技術層面的成功對接,更是國內AI開源生態與底層硬件深度融合的重要一步。現在,開發者可以下載FlagTree體驗Triton-TLE的高效編程範式,在昇騰AI基礎軟硬件平台上獲得高性能算子開發體驗。

從“高效率”到“高性能”:FlagTree推出三層漸近式編程語言Triton-TLE
Triton-TLE(Triton Language Extensions)是FlagTree對 Triton語言提供的擴展能力,針對不同專業度開發者採用三層漸進式架構設計。
TLE-Lite是對Triton的輕量級擴展,所有特性兼容各類硬件後端,僅需對原有Triton kernels少量修改即可拿到大幅性能提升。主要面向算法工程師和快速性能優化場景。
TLE-Struct按硬件的架構聚類抽象,分類(如DSA、GPGPU)提供擴展,滿足進一步性能優化的需求。需要開發人員對目標硬件的特性和優化技巧有一定了解。
TLE-Raw提供對硬件最直接的控制,可以使用硬件廠商的原生編程語言獲取最極致的性能。需要開發人員對目標硬件的深入了解,主要面向性能優化專家。
其中TLE-Lite和TLE-Struct會通過FLIR最終Lowering到LLVM IR,而TLE-Raw則通過語言對應的編譯管線(如廠商的私有編譯器)Lowering到LLVM IR。最後它們會被Link到一起,共同生成一個完整的kernel供Runtime加載和執行。

打通“任督二脈”:AscendNPU IR扮演關鍵橋樑
如果說FlagTree與TLE的結合是上層建築的創新,那麼AscendNPU IR的底層支撐則是這一切得以在昇騰硬件上高效運行的地基。
AscendNPU IR(AscendNPU Intermediate Representation)是基於MLIR(Multi-Level Intermediate Representation)構建的,面向昇騰親和算子編譯時使用的中間表示,為生態框架提供面向昇騰的統一編譯接入層和硬件完備表達優化能力,釋放硬件算力。AscendNPU IR提供了多級方言,高層抽象HFusion Dialect屏蔽昇騰計算、搬運、同步指令細節,具備tensor及表達能力。硬件抽象HIVM Dialect實現了昇騰硬件的抽象資源管理,提供了細粒度的控制能力,自動面向昇騰優化。
FlagTree中的FLIR則承擔著TLE編譯降級並對接到AscendNPU IR的工作,同時註冊了一批二元算數算子的轉換規則,將tle.dsa.op降級為HIVM方言的向量算子。例如tle.dsa.copy接口經過一系列的轉換pass,將GM到UB的數據搬移降級為memref::CopyOp,將GM->L1的數據搬移降級為hivm::ND2NZOp。

Triton-TLE+FlagTree通過AscendNPU IR的接入,是昇騰CANN生態“分層解耦、開源開放、靈活擴展”的一次成功踐行。通過該IR層的開放能力,驗證了其在快速接納不同的AI編程框架上的靈活性與低適配成本。這種開放策略,也使得FlagOS社區能夠更高效地利用昇騰底層算力,共同構建開放共贏的AI開發生態。
基於這種高性能與高效率兼具、靈活可定製的接入方式,開發者既能享受Tensor級別的高階抽象帶來的快速開發紅利,也能在性能瓶頸處調用細粒度指令集進行深度優化。這種分層機制使得FlagTree編譯的算子既能快速落地,又能通過定製化優化釋放昇騰硬件的極致算力。
Triton-TLE+FlagTree與AscendNPU IR的深度融合,不僅是技術棧的簡單連接,更是構建繁榮AI生態的堅實一步。它展示了國內AI框架與底層硬件協同創新的巨大潛力。我們相信,隨着AscendNPU IR的進一步發展,以及FlagOS社區與昇騰生態的持續共建,開發者將獲得更強大、更易用的工具鏈。未來,我們將繼續推動前沿技術創新,降低AI應用門檻,與廣大開發者一起,在昇騰AI基礎軟硬件平台上探索無限可能。
AscendNPU IR開源倉地址:
https://gitcode.com/Ascend/AscendNPU-IR
眾智FlagOS社區地址:
https://github.com/flagos-ai/FlagTree/tree/triton_v3.5.x
歡迎廣大開發者前往體驗,共同參與這場開放與創新的技術變革!