Skip to content

昇腾环境配置(Ver:1.0_alpha001)-CANN8.5.0+torch2.9.0+FlagTree+FlagGems #3

Description

@winfan1314

下载,载入并启动容器

wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/docker_image_cann-8.2.rc1.alpha003-a3-ubuntu22.04-py3.11-flagtree.tar.gz
docker load -i docker_image_cann-8.2.rc1.alpha003-a3-ubuntu22.04-py3.11-flagtree.tar.gz
docker run -it \
        --name ***起个名字*** \
        --network host \
        --ipc host \
        --privileged \
        --device /dev/davinci0 \
        --device /dev/davinci1 \
        --device /dev/davinci2 \
        --device /dev/davinci3 \
        --device /dev/davinci4 \
        --device /dev/davinci5 \
        --device /dev/davinci6 \
        --device /dev/davinci7 \
        --device /dev/davinci_manager \
        --device /dev/devmm_svm \
        --device /dev/hisi_hdc \
        -v ***你的代码目录***:/workspace \
        -v ***找个可写目录用来映射/root***:/root \
        -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \
        -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro \
        -v /usr/local/dcmi:/usr/local/dcmi:ro \
        -v /etc/ascend_install.info:/etc/ascend_install.info:ro \
        -w ***设置默认工作目录*** \
        cann:8.2.rc1.alpha003-a3-ubuntu22.04-py3.11-flagtree \
        /bin/bash -lc 'export LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/common:/usr/local/Ascend/driver/lib64/driver:$LD_LIBRARY_PATH && bash'

容器内 装CANN, 910B ops

wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.5.0/Ascend-cann-toolkit_8.5.0_linux-aarch64.run
wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.5.0/Ascend-cann-910b-ops_8.5.0_linux-aarch64.run
bash Ascend-cann-toolkit_8.5.0_linux-aarch64.run --install --quiet
bash Ascend-cann-910b-ops_8.5.0_linux-aarch64.run --install --quiet

容器内 装llvm

mkdir -p ~/.flagtree/ascend; cd ~/.flagtree/ascend
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/llvm-a66376b0-ubuntu-aarch64-python311-compat_v0.3.0.tar.gz
tar zxf llvm-a66376b0-ubuntu-aarch64-python311-compat_v0.3.0.tar.gz

容器内 装Flagtree依赖

cd /workspace/container_workspace
git clone https://github.com/flagos-ai/FlagTree.git
cd FlagTree
git checkout -b triton_v3.2.x origin/triton_v3.2.x
wget https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/build-deps-triton_3.2.x-linux-aarch64.tar.gz
sh python/scripts/unpack_triton_build_deps.sh ./build-deps-triton_3.2.x-linux-aarch64.tar.gz

容器内 装FlagTree

cd python
python3 -m pip install -r requirements.txt
export FLAGTREE_BACKEND=ascend
python3 -m pip install . --no-build-isolation -v

容器内 装其他依赖

pip install numpy sqlalchemy scikit-build-core pybind11 ninja cmake -i https://repo.huaweicloud.com/repository/pypi/simple

容器内 装FlagGems

git clone https://github.com/siliconflow/FlagGems.git 
cd FlagGems
pip install --no-build-isolation -e .

容器内 装 torch torch_npu triton-ascend

wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl
wget https://gitcode.com/Ascend/pytorch/releases/download/v7.3.0-pytorch2.9.0/torch_npu-2.9.0-cp311-cp311-manylinux_2_28_aarch64.whl
pip install torch-2.9.0+cpu-cp311-cp311-manylinux_2_28_aarch64.whl torch_npu-2.9.0-cp311-cp311-manylinux_2_28_aarch64.whl -i https://repo.huaweicloud.com/repository/pypi/simple
pip install triton-ascend -i https://repo.huaweicloud.com/repository/pypi/simple

容器内 小测试FlagGems

import torch
import flag_gems
flag_gems.enable()
M, N, K = 1024, 1024, 1024
A = torch.randn((M, K), dtype=torch.float16, device="npu:0")
B = torch.randn((K, N), dtype=torch.float16, device="npu:0")
C = torch.mm(A, B)
print("shape:", C.shape, "dtype:", C.dtype, "device:", C.device)
print("C values:", C[:5, :5].cpu())
s = C.sum()
print("sum:", s.item(), "dtype:", s.dtype, "device:", s.device)
c = input("Press Enter to continue...")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions