[中文版|English]
FlagTree 是 FlagOS 的一部分。 FlagOS 是一个面向多元AI芯片的开源、统一系统软件栈,旨在打通模型、系统与芯片层,培育开放协作的生态系统。 它支持 “一次开发,多芯运行” 的工作流,兼容多样化的 AI 加速芯片。 它释放硬件性能潜力,消除各类 AI 芯片专用软件栈之间的碎片化问题,并大幅降低大模型在多种 AI 硬件移植与维护的成本。
FlagTree 是面向多种 AI 芯片的开源、统一编译器。 FlagTree 致力于打造多元 AI 芯片编译器及相关工具平台,发展和壮大 Triton 上下游生态。 项目当前处于初期,目标是兼容现有适配方案,统一代码仓库,快速实现单仓库多后端支持。 对于上游模型用户,提供多后端的统一编译能力; 对于下游芯片厂商,提供 Triton 生态接入范例。
各后端基于不同版本的 Triton 适配,因此位于不同的主干分支。 各主干分支均为保护分支且地位相等,表格中所有后端均搭建了 CI/CD Runner。
| 主干分支 | 厂商 | 后端 | Triton 版本 | 安装 |
|---|---|---|---|---|
| main | NVIDIA AMD x86_64 cpu ILUVATAR(天数智芯) Moore Threads(摩尔线程) KLX MetaX(沐曦股份) HYGON(海光信息) |
nvidia amd triton-shared iluvatar mthreads xpu metax hcu |
3.1 3.1 3.1 3.1 3.1 3.0 3.0 3.1 |
install nvidia install amd - install iluvatar install mthreads install xpu install metax install hcu |
| triton_v3.2.x | NVIDIA AMD Huawei Ascend(华为昇腾) Cambricon(寒武纪) |
nvidia amd ascend cambricon |
3.2 | install nvidia install amd install ascend - |
| triton_v3.3.x | NVIDIA AMD x86_64 cpu ARM China(安谋科技) Tsingmicro(清微智能) Enflame(燧原) |
nvidia amd triton-shared aipu tsingmicro enflame |
3.3 | install nvidia install amd - install aipu install tsingmicro install enflame |
| triton_v3.4.x | NVIDIA AMD Sunrise(曦望芯科) |
nvidia amd sunrise |
3.4 | install nvidia install amd install sunrise |
| triton_v3.5.x | NVIDIA AMD Enflame(燧原) |
nvidia amd enflame |
3.5 | install nvidia install amd install enflame |
| triton_v3.6.x | NVIDIA AMD |
nvidia amd |
3.6 | install nvidia install amd |
FlagTree 的扩展组件当前在部分后端可用:
| 主干分支 | 后端 | Triton 版本 | 扩展组件 |
|---|---|---|---|
| triton_v3.6.x | nvidia | 3.6 | TLE-Lite TLE-Struct GPU TLE-Raw HINTS |
| triton_v3.2.x | ascend | 3.2 | TLE-Struct DSA FLIR HINTS |
| triton_v3.3.x | tsingmicro | 3.3 | TLE-Lite TLE-Struct DSA FLIR |
| triton_v3.3.x | aipu | 3.3 | FLIR HINTS |
Triton 在算子开发效率方面表现突出,但在多元 AI 芯片适配和更深层性能调优场景下,往往需要对分布式执行、内存访问模式和硬件相关原语提供更显式的控制。TLE 以分层方式扩展 Triton,在保持现有 Triton 工作流兼容性的同时补齐这部分能力。
TLE 的主要优势包括:
- 从可移植到硬件导向调优的渐进式抽象(
Lite/Struct/Raw)。 - 更好覆盖多设备、架构特化与后端 lowering 场景。
- 在保留优化空间的同时,降低现有 Triton kernel 的迁移改造成本。
详细设计、API 与示例请参考 TLE Wiki 和 TLE-Raw Wiki。
- 2026/03/13 新增接入 enflame GCU400 后端(对应 Triton 3.5),加入 CI/CD。
- 2026/01/23 新增接入 sunrise 后端(对应 Triton 3.4),加入 CI/CD。
- 2026/01/08 添加 HINTS、TLE、TLE-Raw 等新功能 WIKI。
- 2025/12/24 支持拉取和安装 Wheel。
- 2025/12/08 新增接入 enflame GCU300 后端(对应 Triton 3.3),加入 CI/CD。
- 2025/11/26 添加 FlagTree 后端特化统一设计文档 FlagTree_Backend_Specialization。
- 2025/10/28 提供离线构建支持(预下载依赖包),改善网络环境受限时的构建体验,使用方法见后文。
- 2025/09/30 在 GPGPU 上支持编译指导 shared memory。
- 2025/09/29 SDK 存储迁移至金山云,大幅提升下载稳定性。
- 2025/09/25 支持编译指导 ascend 的后端编译能力。
- 2025/09/16 新增接入 hcu 后端(对应 Triton 3.0),加入 CI/CD。
- 2025/09/09 Fork 并修改 llvm-project,承接 FLIR 的功能。
- 2025/09/01 新增适配 Paddle 框架,加入 CI/CD。
- 2025/08/16 新增适配北京超级云计算中心 AI 智算云。
- 2025/08/04 新增接入 T*** 后端(对应 Triton 3.1)。
- 2025/08/01 FLIR 支持编译指导 shared memory loading。
- 2025/07/30 更新 cambricon 后端(对应 Triton 3.2)。
- 2025/07/25 浪潮团队新增适配 OpenAnolis 龙蜥操作系统。
- 2025/07/09 FLIR 支持编译指导 Async DMA。
- 2025/07/08 新增多后端编译统一管理模块。
- 2025/07/02 FlagGems LibTuner 适配 triton_v3.3.x 版本。
- 2025/07/02 新增接入 S*** 后端(对应 Triton 3.3)。
- 2025/06/20 FLIR 开始承接 MLIR 扩展功能。
- 2025/06/06 新增接入 tsingmicro 后端(对应 Triton 3.3),加入 CI/CD。
- 2025/06/04 新增接入 ascend 后端(对应 Triton 3.2),加入 CI/CD。
- 2025/06/03 新增接入 metax 后端(对应 Triton 3.1),加入 CI/CD。
- 2025/05/22 FlagGems LibEntry 适配 triton_v3.3.x 版本。
- 2025/05/21 FLIR 开始承接到中间层的转换功能。
- 2025/04/09 新增接入 aipu 后端(对应 Triton 3.3),提供 torch 标准扩展范例,加入 CI/CD。
- 2025/03/26 接入安全合规扫描。
- 2025/03/19 新增接入 xpu 后端(对应 Triton 3.0),加入 CI/CD。
- 2025/03/19 新增接入 mthreads 后端(对应 Triton 3.1),加入 CI/CD。
- 2025/03/12 新增接入 iluvatar 后端(对应 Triton 3.1),加入 CI/CD。
避免环境匹配问题的最佳实践是使用 多后端支持 表格中推荐的镜像。
安装依赖(注意使用正确的 python3.x 执行):
apt update; apt install zlib1g zlib1g-dev libxml2 libxml2-dev
python3 -m pip install -r python/requirements.txt通用的构建安装方式(网络畅通环境下推荐使用):
# Set FLAGTREE_BACKEND using the backend name from the table above
export FLAGTREE_BACKEND=${backend_name} # Do not set it on nvidia/amd/triton-shared
cd python # Need to enter the python directory for Triton 3.1/3.2/3.3
python3 -m pip install . --no-build-isolation -v # Install flagtree and uninstall triton
python3 -m pip show flagtree
cd ${ANY_OTHER_PATH}; python3 -c 'import triton; print(triton.__path__)'如果不希望从源码安装,可以直接拉取安装 whl(支持部分后端)。
# Note: First install PyTorch, then execute the following commands
python3 -m pip uninstall -y triton # Repeat the cmd until fully uninstalled
RES="--index-url=https://resource.flagos.net/repository/flagos-pypi-hosted/simple"| 后端 | 安装命令(版本号对应 git tag) | Triton 版本 |
libc.so & libstdc++.so |
|---|---|---|---|
| nvidia | python3.12 -m pip install flagtree===0.5.0 $RES | 3.6 | GLIBC_2.39 GLIBCXX_3.4.33 CXXABI_1.3.15 |
| nvidia | python3.12 -m pip install flagtree==0.5.0+3.5 $RES | 3.5 | GLIBC_2.39 GLIBCXX_3.4.33 CXXABI_1.3.15 |
| nvidia | python3.12 -m pip install flagtree==0.4.0+3.3 $RES | 3.3 | GLIBC_2.30 GLIBCXX_3.4.28 CXXABI_1.3.12 |
| nvidia | python3.12 -m pip install flagtree==0.5.0+3.1 $RES | 3.1 | GLIBC_2.39 GLIBCXX_3.4.33 CXXABI_1.3.15 |
| iluvatar | python3.10 -m pip install flagtree==0.5.1+iluvatar3.1 $RES | 3.1 | GLIBC_2.35 GLIBCXX_3.4.30 CXXABI_1.3.13 |
| mthreads | python3.10 -m pip install flagtree==0.5.1+mthreads3.1 $RES | 3.1 | GLIBC_2.35 GLIBCXX_3.4.30 CXXABI_1.3.13 |
| metax | python3.12 -m pip install flagtree==0.5.1+metax3.0 $RES | 3.0 | GLIBC_2.35 GLIBCXX_3.4.30 CXXABI_1.3.13 |
| hcu | python3.10 -m pip install flagtree==0.5.1+hcu3.1 $RES | 3.1 | GLIBC_2.35 GLIBCXX_3.4.30 CXXABI_1.3.13 |
| ascend | python3.11 -m pip install flagtree==0.5.0+ascend3.2 $RES | 3.2 | GLIBC_2.35 GLIBCXX_3.4.30 CXXABI_1.3.13 |
| tsingmicro | python3.10 -m pip install flagtree==0.5.0+tsingmicro3.3 $RES | 3.3 | GLIBC_2.30 GLIBCXX_3.4.28 CXXABI_1.3.12 |
| aipu | python3.10 -m pip install flagtree==0.5.0+aipu3.3 $RES | 3.3 | GLIBC_2.35 GLIBCXX_3.4.30 CXXABI_1.3.13 |
| sunrise | python3.10 -m pip install flagtree==0.4.0+sunrise3.4 $RES | 3.4 | GLIBC_2.39 GLIBCXX_3.4.33 CXXABI_1.3.15 |
| enflame | python3.12 -m pip install flagtree==0.5.0+enflame3.5 $RES | 3.5 | GLIBC_2.39 GLIBCXX_3.4.33 CXXABI_1.3.15 |
flagtree 历史版本可以在 https://resource.flagos.net/#browse/search/pypi/=assets.attributes.pypi.description%3Dflagtree 查询
欢迎参与 FlagTree 的开发并贡献代码,详情请参考 CONTRIBUTING.md。
FlagTree 使用 MIT license。