# 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__)'
FlagTree 是 FlagOS 的一部分。 FlagOS 是一个面向多元AI芯片的开源、统一系统软件栈,旨在打通模型、系统与芯片层,培育开放协作的生态系统。 它支持 “一次开发,多芯运行” 的工作流,兼容多样化的 AI 加速芯片。 它释放硬件性能潜力,消除各类 AI 芯片专用软件栈之间的碎片化问题,并大幅降低大模型在多种 AI 硬件移植与维护的成本。
FlagTree 是面向多种 AI 芯片的开源、统一编译器。 FlagTree 致力于打造多元 AI 芯片编译器及相关工具平台,发展和壮大 Triton 上下游生态。 项目当前处于初期,目标是兼容现有适配方案,统一代码仓库,快速实现单仓库多后端支持。 对于上游模型用户,提供多后端的统一编译能力; 对于下游芯片厂商,提供 Triton 生态接入范例。
各后端基于不同版本的 Triton 适配,因此位于不同的主干分支。 各主干分支均为保护分支且地位相等:
AMD
x86_64 cpu
ILUVATAR(天数智芯)
Moore Threads(摩尔线程)
KLX
MetaX(沐曦股份)
HYGON(海光信息)
amd
triton-shared
iluvatar
mthreads
xpu
metax
hcu
3.1
3.1
3.1
3.1
3.0
3.1
3.0
amd
-
iluvatar
mthreads
xpu
-
hcu
AMD
Huawei Ascend(华为昇腾)
Cambricon(寒武纪)
amd
ascend
cambricon
amd
ascend
-
AMD
x86_64 cpu
ARM China(安谋科技)
Tsingmicro(清微智能)
Enflame(燧原)
amd
triton-shared
aipu
tsingmicro
enflame
amd
-
tsingmicro
enflame
AMD
Sunrise(曦望芯科)
amd
sunrise
amd
sunrise
AMD
amd
amd
新特性
从源代码安装
安装依赖(注意使用正确的 python3.x 执行):
通用的构建安装方式(网络畅通环境下推荐使用):
免源码安装
如果不希望从源码安装,可以直接拉取安装 whl(支持部分后端)。 避免环境匹配问题的最佳实践是使用 从源码构建技巧 中推荐的镜像。
3.11
3.12
GLIBCXX_3.4.28
CXXABI_1.3.12
3.11
3.12
GLIBCXX_3.4.28
CXXABI_1.3.12
3.11
3.12
GLIBCXX_3.4.28
CXXABI_1.3.12
GLIBCXX_3.4.33
CXXABI_1.3.15
GLIBCXX_3.4.30
CXXABI_1.3.13
GLIBCXX_3.4.30
CXXABI_1.3.13
GLIBCXX_3.4.33
CXXABI_1.3.15
GLIBCXX_3.4.24
CXXABI_1.3.11
GLIBCXX_3.4.28
CXXABI_1.3.12
GLIBCXX_3.4.30
CXXABI_1.3.13
GLIBCXX_3.4.30
CXXABI_1.3.13
GLIBCXX_3.4.33
CXXABI_1.3.15
运行测试
安装完成后一般可以在设备支持的环境下运行测试,具体后端支持的测试可前往对应分支的 .github/workflow/${backend_name}-build-and-test.yml 查看。
关于贡献
欢迎参与 FlagTree 的开发并贡献代码,详情请参考 CONTRIBUTING.md。
许可证
FlagTree 使用 MIT license。