特性#
FlagTree 包含以下主要特性:
多后端支持 FlagTree 支持广泛的硬件平台,并已在不同硬件配置下进行了大量测试。更多信息请参见支持的硬件平台。
三级编译器提示语言 FlagTree 针对不同用户提供了三级编译器提示语言:
TLE-Lite:
设计理念:一次编写,到处运行。
核心理念:通过引入高层语义提示而非强制性约束,引导编译器进行启发式优化。它强调向后兼容性,使开发者能够以最小的代码侵入性实现跨平台性能提升,而不会破坏原有的 Triton 编程范式。
TLE-Struct:
设计理念:架构感知,精细调优。
核心理念:基于硬件拓扑特征,将后端划分为 GPGPU 和 DSA 等集群,暴露通用的分层并行和存储结构。它允许开发者显式定义计算与数据之间的结构化映射关系(如 Warp Group 控制、流水线编排),在抽象层面将算法逻辑与特定硬件的物理实现解耦。
TLE-Raw:
设计理念:原生传递,极致掌控。
核心理念:打破 DSL 的抽象边界,支持内联厂商原生代码。它能够通过厂商的私有编译管线直接生成目标指令,绕过通用编译器的中间转换开销,为专家级用户提供对指令调度、寄存器分配和底层同步原语的绝对控制。
Hints: 最顶层的编译器提示语言,专为初学者设计,提供轻量级的性能优化,无需改变程序语义或底层硬件行为。Hints 与原生 Triton 代码完全向后兼容。
FLIR: FlagTree Linalg 中间表示,是一个多后端统一的中间层,作为将 Triton 扩展中间表示(例如 Hints、Ops 和 TLE)lowering 到硬件特定方言的中心枢纽。