来源:市场资讯
(来源:华为计算)
在人工智能技术指数级迭代的今天,算力的边界正被不断突破,而软件生态的开放与协同,则成为了释放硬件潜力的关键钥匙。作为一种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
欢迎广大开发者前往体验,共同参与这场开放与创新的技术变革!