[英文版|中文版]

💫 摩尔线程(Moore Threads)mthreads(Triton 3.6)#

  • 基于 Triton 3.6,x64

  • 适用于 S4000/S5000

1. 构建与运行环境#

1.1 使用镜像(Triton 3.6,MTT-S5000)#

如果网络连接可用,则无需执行后续步骤 1.x,因为构建过程中会自动获取依赖项。

# 方案 A:docker pull(60.5GB)
IMAGE=harbor.baai.ac.cn/flagtree/flagtree-mthreads3.6-py310-torch2.7.1-musa5.1.0-ubuntu22.04:202605-base
docker pull ${IMAGE}
# 方案 B:docker load(17GB)
IMAGE=flagtree-mthreads3.6-py310-torch2.7.1-musa5.1.0-ubuntu22.04:202605-base
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/flagtree-mthreads3.6-py310-torch2.7.1-musa5.1.0-ubuntu22.04.202605-base.tar.gz
docker load -i flagtree-mthreads3.6-py310-torch2.7.1-musa5.1.0-ubuntu22.04.202605-base.tar.gz
mcc_version  # 5.1.0
CONTAINER=flagtree-dev-xxx
docker run -dit \
    --network=host --pid=host --privileged \
    --cap-add=SYS_PTRACE \
    --shm-size 16gb \
    --security-opt seccomp=unconfined \
    -e MTHREADS_VISIBLE_DEVICES=all -e MTHREADS_DRIVER_CAPABILITIES=all \
    -v /usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu \
    -v /lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu \
    -v /etc/alternatives:/etc/alternatives \
    -v /etc/localtime:/etc/localtime:ro \
    -v /data:/data -v /home:/home -v /tmp:/tmp \
    -w /root --name ${CONTAINER} ${IMAGE} bash
docker exec -it ${CONTAINER} /bin/bash

1.2 手动下载 FlagTree 依赖项#

mkdir -p ~/.flagtree/mthreads; cd ~/.flagtree/mthreads
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/mthreads-llvm22-x64_v0.5.1.tar.gz
tar zxvf mthreads-llvm22-x64_v0.5.1.tar.gz

1.3 手动下载 Triton 依赖项#

Triton 依赖项已在镜像中下载并安装完毕。 如果不需要从源码构建 FlagTree 或 Triton,则无需下载 Triton 依赖项。

cd ${YOUR_CODE_DIR}/FlagTree
# 适用于 Triton 3.6(x64)
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/build-deps-triton_3.6.x-linux-x64.tar.gz
sh python/scripts/unpack_triton_build_deps.sh ./build-deps-triton_3.6.x-linux-x64.tar.gz

执行上述脚本后,原有的 ~/.triton 目录将被重命名,并创建一个新的 ~/.triton 目录用于存放预下载的包。 请注意,脚本执行过程中会提示手动确认。

2. 安装命令#

2.1 免源码安装#

# 注意:请先安装 PyTorch,再执行以下命令
python3 -m pip uninstall -y triton  # 重复执行该命令直到完全卸载
RES="--index-url=https://resource.flagos.net/repository/flagos-pypi-hosted/simple"
python3.10 -m pip install flagtree===0.6.0rc1+mthreads3.6 $RES

安装 flagtree 后,可通过以下命令检查:

python3 -m pip show flagtree

2.2 从源码构建#

cd ${YOUR_CODE_DIR}/FlagTree
git checkout -b triton_v3.6.x origin/triton_v3.6.x
export FLAGTREE_BACKEND=mthreads
MAX_JOBS=32 python3 -m pip install . --no-build-isolation -v

3. 测试与验证#

参考 MThreads 3.6 后端测试

💫 摩尔线程(Moore Threads)mthreads(Triton 3.2)#

  • 基于 Triton 3.2,x64

  • 适用于 S4000/S5000

1. 构建与运行环境#

1.1 使用镜像(Triton 3.2,MTT-S5000)#

如果网络连接可用,则无需执行后续步骤 1.x,因为构建过程中会自动获取依赖项。

# 方案 A:docker pull(59.4GB)
IMAGE=harbor.baai.ac.cn/flagtree/flagtree-mthreads3.2-py310-torch2.7.1-musa5.1.0-ubuntu22.04:202605-base
docker pull ${IMAGE}
# 方案 B:docker load(17GB)
IMAGE=flagtree-mthreads3.2-py310-torch2.7.1-musa5.1.0-ubuntu22.04:202605-base
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/flagtree-mthreads3.2-py310-torch2.7.1-musa5.1.0-ubuntu22.04.202605-base.tar.gz
docker load -i flagtree-mthreads3.2-py310-torch2.7.1-musa5.1.0-ubuntu22.04.202605-base.tar.gz
mcc_version  # 5.1.0
CONTAINER=flagtree-dev-xxx
docker run -dit \
    --network=host --pid=host --privileged \
    --cap-add=SYS_PTRACE \
    --shm-size 16gb \
    --security-opt seccomp=unconfined \
    -e MTHREADS_VISIBLE_DEVICES=all -e MTHREADS_DRIVER_CAPABILITIES=all \
    -v /usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu \
    -v /lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu \
    -v /etc/alternatives:/etc/alternatives \
    -v /etc/localtime:/etc/localtime:ro \
    -v /data:/data -v /home:/home -v /tmp:/tmp \
    -w /root --name ${CONTAINER} ${IMAGE} bash
docker exec -it ${CONTAINER} /bin/bash

1.2 手动下载 FlagTree 依赖项#

mkdir -p ~/.flagtree/mthreads; cd ~/.flagtree/mthreads
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/mthreads-llvm20-x64_v0.5.0.tar.gz
tar zxvf mthreads-llvm20-x64_v0.5.0.tar.gz
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/mthreadsTritonPlugin-triton3.2-cpython3.10-glibc2.35-glibcxx3.4.30-cxxabi1.3.13-x64_v0.5.0.tar.gz
tar zxvf mthreadsTritonPlugin-triton3.2-cpython3.10-glibc2.35-glibcxx3.4.30-cxxabi1.3.13-x64_v0.5.0.tar.gz

1.3 手动下载 Triton 依赖项#

Triton 依赖项已在镜像中下载并安装完毕。 如果不需要从源码构建 FlagTree 或 Triton,则无需下载 Triton 依赖项。

cd ${YOUR_CODE_DIR}/FlagTree
# 适用于 Triton 3.2(x64)
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/build-deps-triton_3.2.x-linux-x64.tar.gz
sh python/scripts/unpack_triton_build_deps.sh ./build-deps-triton_3.2.x-linux-x64.tar.gz

执行上述脚本后,原有的 ~/.triton 目录将被重命名,并创建一个新的 ~/.triton 目录用于存放预下载的包。 请注意,脚本执行过程中会提示手动确认。

2. 安装命令#

2.1 免源码安装#

# 注意:请先安装 PyTorch,再执行以下命令
python3 -m pip uninstall -y triton  # 重复执行该命令直到完全卸载
RES="--index-url=https://resource.flagos.net/repository/flagos-pypi-hosted/simple"
python3.10 -m pip install flagtree===0.5.1+mthreads3.2 $RES

安装 flagtree 后,可通过以下命令检查:

python3 -m pip show flagtree

2.2 从源码构建#

cd ${YOUR_CODE_DIR}/FlagTree/python
git checkout -b triton_v3.2.x origin/triton_v3.2.x
export FLAGTREE_BACKEND=mthreads
MAX_JOBS=32 python3 -m pip install . --no-build-isolation -v

3. 测试与验证#

参考 MThreads 3.2 后端测试

💫 摩尔线程(Moore Threads)mthreads(Triton 3.1)#

  • 基于 Triton 3.1,x64/aarch64

  • 适用于 S4000/S5000

1. 构建与运行环境#

1.1 使用预装镜像(Triton 3.1,MTT-S5000)#

如果使用此预装镜像,则无需执行后续步骤 1.x。 如果网络连接可用,也无需执行后续步骤 1.x,因为构建过程中会自动获取依赖项。

# 方案 A:docker pull(55.3GB)
IMAGE=harbor.baai.ac.cn/flagtree/flagtree-mthreads-py310-torch2.7.1-musa4.3.5-ubuntu22.04:202603
docker pull ${IMAGE}
# 方案 B:docker load(18GB)
IMAGE=flagtree-mthreads-py310-torch2.7.1-musa4.3.5-ubuntu22.04:202603
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/flagtree-mthreads-py310-torch2.7.1-musa4.3.5-ubuntu22.04.202603.tar.gz
docker load -i flagtree-mthreads-py310-torch2.7.1-musa4.3.5-ubuntu22.04.202603.tar.gz
CONTAINER=flagtree-dev-xxx
docker run -dit \
    --network=host --pid=host --privileged \
    --cap-add=SYS_PTRACE \
    --shm-size 16gb \
    --security-opt seccomp=unconfined \
    -e MTHREADS_VISIBLE_DEVICES=all -e MTHREADS_DRIVER_CAPABILITIES=all \
    -v /usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu \
    -v /lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu \
    -v /etc/alternatives:/etc/alternatives \
    -v /etc/localtime:/etc/localtime:ro \
    -v /data:/data -v /home:/home -v /tmp:/tmp \
    -w /root --name ${CONTAINER} ${IMAGE} bash
docker exec -it ${CONTAINER} /bin/bash

1.2 手动下载 FlagTree 依赖项#

mkdir -p ~/.flagtree/mthreads; cd ~/.flagtree/mthreads
# x64
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/mthreads-llvm19-glibc2.35-glibcxx3.4.30-x64_v0.4.0.tar.gz
tar zxvf mthreads-llvm19-glibc2.35-glibcxx3.4.30-x64_v0.4.0.tar.gz \
    -C ./mthreads-llvm19-glibc2.35-glibcxx3.4.30 --strip-components=1
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/mthreadsTritonPlugin-cpython3.10-glibc2.35-glibcxx3.4.30-cxxabi1.3.13-ubuntu-x64_v0.4.1.tar.gz
tar zxvf mthreadsTritonPlugin-cpython3.10-glibc2.35-glibcxx3.4.30-cxxabi1.3.13-ubuntu-x64_v0.4.1.tar.gz
# aarch64
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/mthreads-llvm19-glibc2.35-glibcxx3.4.30-aarch64_v0.4.0.tar.gz
tar zxvf mthreads-llvm19-glibc2.35-glibcxx3.4.30-aarch64_v0.4.0.tar.gz \
    -C ./mthreads-llvm19-glibc2.35-glibcxx3.4.30 --strip-components=1
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/mthreadsTritonPlugin-cpython3.10-glibc2.35-glibcxx3.4.30-cxxabi1.3.13-ubuntu-aarch64_v0.4.0.tar.gz
tar zxvf mthreadsTritonPlugin-cpython3.10-glibc2.35-glibcxx3.4.30-cxxabi1.3.13-ubuntu-aarch64_v0.4.0.tar.gz

1.3 手动下载 Triton 依赖项#

Triton 依赖项已在镜像中下载并安装完毕。 如果不需要从源码构建 FlagTree 或 Triton,则无需下载 Triton 依赖项。

cd ${YOUR_CODE_DIR}/FlagTree
# 适用于 Triton 3.1(x64)
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/build-deps-triton_3.1.x-linux-x64.tar.gz
sh python/scripts/unpack_triton_build_deps.sh ./build-deps-triton_3.1.x-linux-x64.tar.gz

执行上述脚本后,原有的 ~/.triton 目录将被重命名,并创建一个新的 ~/.triton 目录用于存放预下载的包。 请注意,脚本执行过程中会提示手动确认。

2. 安装命令#

2.1 免源码安装#

# 注意:请先安装 PyTorch,再执行以下命令
python3 -m pip uninstall -y triton  # 重复执行该命令直到完全卸载
RES="--index-url=https://resource.flagos.net/repository/flagos-pypi-hosted/simple"
python3.10 -m pip install flagtree===0.5.1+mthreads3.1 $RES

预装镜像中已安装 flagtree,可通过以下命令检查:

python3 -m pip show flagtree

2.2 从源码构建#

cd ${YOUR_CODE_DIR}/FlagTree/python
export FLAGTREE_BACKEND=mthreads
MAX_JOBS=32 python3 -m pip install . --no-build-isolation -v

3. 测试与验证#

参考 MThreads 3.1 后端测试

对于使用 tl.dot 的 Triton 3.1 内核,设置环境变量 export MUSA_ENABLE_SQMMA=1 可以提升性能。