硬件环境
本次部署在以下硬件上进行:
- 服务器型号:Atlas 800I A2
- CPU:Kunpeng 920 * 192
- NPU:Atlas 910B4-1 * 8
- 内存:1000G
软件栈配置
为了保证兼容性,我们选择了 OpenEuler 22.03 LTS 作为基础系统。内核版本为 5.10.0-186.0.0.2.1.oe2203sp3.galaxy.aarch64,驱动版本 24.1.rc2,Docker 版本 26.1.3。
为了避免污染物理机环境,整个部署过程都在 Docker 容器内完成。目前 llama.cpp 对 OpenEuler 22.03 和 Ubuntu 22.04 支持较好,这里选用华为云镜像仓库中适配 Ascend 的镜像。
以 vllm-ascend:0.9.1rc1-torch_npu2.5.1-cann8.1.rc1-python3.10-oe2203lts-linuxarm64 为例,该镜像已预装好相关依赖,支持 Atlas 300I Duo、300T 及 A2(Ascend 910B4)系列。
拉取镜像命令如下:
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/openeuler/vllm-ascend:0.9.1rc1-torch_npu2.5.1-cann8.1.rc1-python3.10-oe2203lts-linuxarm64
启动容器
运行容器时,有几个关键参数需要注意。首先是 --net=host,这能让容器直接复用宿主网络,减少 NPU 通信开销;其次是 --shm-size=500g,大模型推理对共享内存需求很大,必须调大;最后是 --privileged 以及设备映射,这是为了允许容器访问 /dev/davinci_manager 等 NPU 专用节点。
以下是启动脚本,注意挂载路径需根据实际驱动目录补全:
docker run -it -d --net=host --shm-size=500g \
--privileged \
--name vllm-ascend \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
--device=/dev/devmm_svm \
-v /usr/local/Ascend/driver:/usr/local/
# 此处需补全后续挂载路径及镜像名称
配置完成后,进入容器即可开始后续的模型加载与推理测试。

