华为昇腾300I A2评测过程,带保姆式命令,麒麟操作系统+鲲鹏CPU

在 银河麒麟操作系统(Kylin OS) + 鲲鹏CPU 平台上对 昇腾300I A2 推理卡 进行完整评测,需涵盖硬件识别、驱动安装、环境配置、模型部署与性能测试等环节。以下是基于社区实践和官方文档整理的标准化评测流程,附带关键命令与注意事项。


一、前提条件

硬件要求

  • 服务器:搭载 鲲鹏920 CPU(ARM64架构)
  • NPU卡:Atlas 300I A2(昇腾910B4,双槽全高全长 PCIe 卡)
  • 内存:≥64GB(建议128GB+)
  • 存储:系统盘 ≥100GB,SSD模型盘 ≥100GB

软件环境

  • 操作系统:银河麒麟高级服务器操作系统 V10 或 V11(aarch64)
  • 内核版本:≥4.19(推荐5.10+)
  • 架构确认:

bash

uname -m          # 应输出 aarch64

cat /etc/os-release | grep PRETTY_NAME


二、驱动与固件安装

注意:必须先装固件,再装驱动!

1. 创建NPU用户(可选但推荐)

bash

编辑

sudo groupadd HwHiAiUser

sudo useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash

2. 安装固件(Firmware

从 华为昇腾官网 下载对应版本(如 Ascend-hdk-310p-npu-firmware_7.5.0.5.220.run):

bash

chmod +x Ascend-hdk-310p-npu-firmware_*.run

sudo ./Ascend-hdk-310p-npu-firmware_*.run --full

3. 安装驱动(Driver

下载 Ascend-hdk-310p-npu-driver_24.1.0.1_linux-aarch64.run:

bash

chmod +x Ascend-hdk-310p-npu-driver_*.run

sudo ./Ascend-hdk-310p-npu-driver_*.run --full --install-for-all

4. 重启并验证设备

bash

sudo reboot

npu-smi info   # 或 ascend-smi info

✅ 成功应显示 1个NPU设备(Device ID 0),状态为 OK

注:300I A2为单芯片卡,不同于300I Duo(双芯片)。


三、安装CANN工具包与推理环境

1. 安装CANN Toolkit

下载 Ascend-cann-toolkit_8.0.RC1_linux-aarch64.run:

bash

chmod +x Ascend-cann-toolkit_*.run

sudo ./Ascend-cann-toolkit_*.run --install

2. 设置环境变量(~/.bashrc

Bash

export ASCEND_HOME=/usr/local/Ascend/ascend-toolkit/latest

export PATH=$ASCEND_HOME/bin:$PATH

export PYTHONPATH=$ASCEND_HOME/python/site-packages:$PYTHONPATH

export LD_LIBRARY_PATH=$ASCEND_HOME/lib64:$LD_LIBRARY_PATH

source ~/.bashrc


四、部署Qwen大模型(以Qwen2.5-7B为例)

1. 安装Docker(若未安装)

bash

sudo dnf install docker -y

sudo systemctl enable --now docker

sudo usermod -aG docker $USER

newgrp docker  # 刷新组权限

2. 加载MindIE推理镜像

从华为官网下载 mindie-2.0.RC2-300I-A2-py311-openeuler24.03-lts.tar.gz:

bash

docker load -i mindie-*.tar.gz

docker images | grep mindie  # 验证

3. 下载模型

bash

pip3 install modelscope -i https://pypi.tuna.tsinghua.edu.cn/simple

mkdir -p /data/models

cd /data/models

python3 -c "

from modelscope import snapshot_download

snapshot_download('Qwen/Qwen2.5-7B-Instruct', cache_dir='./Qwen2.5-7B-Instruct')

"

4. 修改模型精度(关键!)

昇腾不支持bfloat16,需改为float16:

bash

sed -i 's/"torch_dtype": "bfloat16"/"torch_dtype": "float16"/g' \

  /data/models/Qwen2.5-7B-Instruct/config.json

chmod 750 -R /data/models/Qwen2.5-7B-Instruct


五、启动推理服务容器

bash

docker run -itd \

  --net=host \

  --shm-size=2g \

  --device=/dev/davinci0 \

  --device=/dev/davinci_manager \

  --device=/dev/hisi_hdc \

  --device=/dev/devmm_svm \

  -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \

  -v /data/models:/models \

  --name qwen-mindie \

  mindie:2.0.RC2-300I-A2-py311-openeuler24.03-lts

进入容器后可调用MindIE API进行推理测试。


六、性能评测命令

1. 查看NPU利用率与温度

bash

npu-smi info -t usage -i 0    # 实时使用率

npu-smi info -t temperature -i 0

2. 使用KTransformers评测DeepSeek-R1 671B(可选)

若已部署KTransformers框架,可运行:

bash

python3 benchmark.py \

  --model DeepSeek-R1-671B \

  --device ascend \

  --batch-size 1 \

  --max-tokens 128

实测结果:Decode速度 ≈ 14.9 tokens/s(单并发)。

3. 自定义吞吐测试(Qwen-7B

在容器内运行:

python

from mindie import LLMEngine

engine = LLMEngine(model_path="/models/Qwen2.5-7B-Instruct")

output = engine.generate("你好,请介绍一下昇腾300I A2", max_new_tokens=100)

print(output)

记录首token延迟(TTFT)与吞吐(tokens/s)。


七、常见问题排查

问题

解决方案

npu-smi: command not found

检查驱动是否安装成功,路径是否加入PATH

容器内无法访问NPU

确认--device=/dev/davinci0等设备节点挂载正确

模型加载报错bfloat16

必须修改config.json为float16

显存不足(OOM)

启用量化(INT8)或使用KTransformers异构卸载


结论

通过上述命令流程,可在 麒麟+鲲鹏+昇腾300I A2 平台上完成从底层驱动到大模型推理的全链路评测。该组合虽在生态成熟度上略逊于x86+CUDA,但在安全性、自主可控性与特定场景性能(如FP16推理、视频解码)上具备显著优势,是信创AI落地的理想选择。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐