目录

FlagTree-GitHub FlagTree

FlagTree 是 FlagOS 的一部分。 FlagOS 是一个面向多元AI芯片的开源、统一系统软件栈,旨在打通模型、系统与芯片层,培育开放协作的生态系统。 它支持 “一次开发,多芯运行” 的工作流,兼容多样化的 AI 加速芯片。 它释放硬件性能潜力,消除各类 AI 芯片专用软件栈之间的碎片化问题,并大幅降低大模型在多种 AI 硬件移植与维护的成本。

FlagTree 是面向多种 AI 芯片的开源、统一编译器。 FlagTree 致力于打造多元 AI 芯片编译器及相关工具平台,发展和壮大 Triton 上下游生态。 项目当前处于初期,目标是兼容现有适配方案,统一代码仓库,快速实现单仓库多后端支持。 对于上游模型用户,提供多后端的统一编译能力; 对于下游芯片厂商,提供 Triton 生态接入范例。

各后端基于不同版本的 Triton 适配,因此位于不同的主干分支。 各主干分支均为保护分支且地位相等:

主干分支 厂商 后端 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.1
3.0
nvidia
amd
-
iluvatar
mthreads
xpu
-
hcu
免源码安装
triton_v3.2.x NVIDIA
AMD
Huawei Ascend(华为昇腾)
Cambricon(寒武纪)
nvidia
amd
ascend
cambricon
3.2 nvidia
amd
ascend
-
免源码安装
triton_v3.3.x NVIDIA
AMD
x86_64 cpu
ARM China(安谋科技)
Tsingmicro(清微智能)
Enflame(燧原)
nvidia
amd
triton-shared
aipu
tsingmicro
enflame
3.3 nvidia
amd
-
tsingmicro
enflame
免源码安装
triton_v3.4.x NVIDIA
AMD
Sunrise(曦望芯科)
nvidia
amd
sunrise
3.4 nvidia
amd
sunrise
免源码安装
triton_v3.5.x NVIDIA
AMD
nvidia
amd
3.5 nvidia
amd
免源码安装

新特性

  • 2026/01/23 新增接入 sunrise 后端(对应 Triton 3.4),加入 CI/CD。
  • 2026/01/08 添加 HINTSTLETLE-Raw 等新功能 WIKI。
  • 2025/12/24 支持拉取和安装 Wheel
  • 2025/12/08 新增接入 enflame 后端(对应 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 install zlib1g zlib1g-dev libxml2 libxml2-dev  # ubuntu
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  # TODO: automatically uninstall triton
RES="--index-url=https://resource.flagos.net/repository/flagos-pypi-hosted/simple \
     --trusted-host=https://resource.flagos.net"
后端 安装命令(版本号对应 git tag) Triton 版本 Python 版本 libc.so & libstdc++.so 版本
nvidia python3 -m pip install flagtree==0.4.0 $RES 3.1 3.10
3.11
3.12
GLIBC_2.30
GLIBCXX_3.4.28
CXXABI_1.3.12
nvidia python3 -m pip install flagtree==0.4.0+3.2 $RES 3.2 3.10
3.11
3.12
GLIBC_2.30
GLIBCXX_3.4.28
CXXABI_1.3.12
nvidia python3 -m pip install flagtree==0.4.0+3.3 $RES 3.3 3.10
3.11
3.12
GLIBC_2.30
GLIBCXX_3.4.28
CXXABI_1.3.12
nvidia python3 -m pip install flagtree==0.4.1+3.5 $RES 3.5 3.12 GLIBC_2.39
GLIBCXX_3.4.33
CXXABI_1.3.15
iluvatar python3 -m pip install flagtree==0.4.0+iluvatar3.1 $RES 3.1 3.10 GLIBC_2.35
GLIBCXX_3.4.30
CXXABI_1.3.13
mthreads python3 -m pip install flagtree==0.4.0+mthreads3.1 $RES 3.1 3.10 GLIBC_2.35
GLIBCXX_3.4.30
CXXABI_1.3.13
metax python3 -m pip install flagtree==0.4.0rc1+metax3.1 $RES 3.1 3.10 GLIBC_2.39
GLIBCXX_3.4.33
CXXABI_1.3.15
ascend python3 -m pip install flagtree==0.4.1+ascend3.2 $RES 3.2 3.11 GLIBC_2.34
GLIBCXX_3.4.24
CXXABI_1.3.11
tsingmicro python3 -m pip install flagtree==0.4.0+tsingmicro3.3 $RES 3.3 3.10 GLIBC_2.30
GLIBCXX_3.4.28
CXXABI_1.3.12
hcu python3 -m pip install flagtree==0.4.0+hcu3.0 $RES 3.0 3.10 GLIBC_2.35
GLIBCXX_3.4.30
CXXABI_1.3.13
enflame python3 -m pip install flagtree==0.4.0+enflame3.3 $RES 3.3 3.10 GLIBC_2.35
GLIBCXX_3.4.30
CXXABI_1.3.13
sunrise python3 -m pip install flagtree==0.4.0+sunrise3.4 $RES 3.4 3.10 GLIBC_2.39
GLIBCXX_3.4.33
CXXABI_1.3.15

运行测试

安装完成后一般可以在设备支持的环境下运行测试,具体后端支持的测试可前往对应分支的 .github/workflow/${backend_name}-build-and-test.yml 查看。

# nvidia/amd
cd python/test/unit
python3 -m pytest -s
# other backends
cd third_party/${backend_name}/python/test/unit
python3 -m pytest -s

关于贡献

欢迎参与 FlagTree 的开发并贡献代码,详情请参考 CONTRIBUTING.md

许可证

FlagTree 使用 MIT license

邀请码