当前位置: 首页 > news >正文

在银河麒麟V10上部署Atlas 300i Duo:从固件到驱动的一站式踩坑笔记

日期:2025-09-09
关键词:鲲鹏920、Atlas 300i Duo、银河麒麟V10、NPU、驱动、固件


1. 背景:国产硬件+国产OS,能不能“即插即用”?

最近接到任务:在一台双路鲲鹏920服务器(64核@2.6 GHz,64 GB DDR4-2933)上,让两块Atlas 300i Duo推理卡在银河麒麟V10超级服务器版(Kernel 4.19.90-52.22.v2207.ky10.aarch64)跑起来,给后续CV模型做Batch推理。
开箱后发现——
“即插即用”是不存在的
,必须先理解固件与驱动的分工,否则永远卡在lspci看不到设备或者dmesg刷屏报错。本文把完整流程、坑点以及性能验证结果写下来,供同样踩坑的同学参考。


2. 硬件速写:为什么选这三件套?

组件规格亮点
CPU2 × 鲲鹏920 7260,64核*2.6 GHz8×DDR4通道,48 MB L3,支持PCIe 4.0 x96,ARMv8.2
内存64 GB RDIMM ECC实测带宽>170 GB/s,STREAM triad
NPUAtlas 300i Duo单卡280 TOPS INT8,96 GB LPDDR4X,528 GB/s带宽,32路4K60解码
OS银河麒麟V10 SP3 aarch64内核4.19.90-52,官方已集成KVM、docker、openssl国密

一句话:CPU给IO、NPU给算力、OS给安全合规,政企场景标配。


3. 固件 vs 驱动:先有谁后有谁?

固件(Firmware)驱动(Driver)
存在NPU板载eMMC里,芯片上电即跑运行在Host Linux内核里
负责初始化AI Core/编解码器/PCIe BAR负责把“初始化好的设备”注册到Linux,向上层提供/dev/davinci*
版本号:7.3.0.1.231版本号:24.1.rc2

结论:固件必须先刷,否则驱动insmod时找不到设备,会报device not ready (-19)


4. 部署全流程(Step-by-Step)

4.1 前置检查

# 1. 确认CPU、PCIe能力
lscpu | grep -i kunpeng
lspci | grep -i 19e5          # 华为Vendor ID
dmesg | grep -i pcie          # 看是否协商到PCIe 4.0 x16
cat /proc/version             # 确认ky10 aarch64内核

lspci看不到19e5:d500,优先检查BIES是否开启SR-IOV及PCIe 64-bit。

4.2 安装固件(7.3.0.1.231)

chmod +x Ascend-hdk-310p-npu-firmware_7.3.0.1.231.run
sudo ./Ascend-hdk-310p-npu-firmware_7.3.0.1.231.run --full
  • 固件刷写工具会通过/dev/mmcblk*把镜像写进eMMC,全程3~5 min,切勿断电
  • 成功提示:Firmware burned successfully. Please reboot server.

重启后:

dmesg | grep -i ascend
# 期望看到:Ascend 310P family found, fw 7.3.0.1.231 ready

4.3 安装驱动(24.1.rc2)

chmod +x Ascend-hdk-310p-npu-driver_24.1.rc2_linux-aarch64.run
sudo ./Ascend-hdk-310p-npu-driver_24.1.rc2_linux-aarch64.run \--full --install-for-all
  • --install-for-all会把/dev/davinci*权限放开,省去后续docker跑推理容器时的--privileged
  • 驱动KO会编译到当前内核4.19.90-52,如果日后升级内核需重新运行一次。

加载成功:

 ascend-smi info
+------------------------------------------------------------------------------+
|  Name  |  Bus-Id       |  Firmware  |  Driver  |  Temperature  |  Power   |
+------------------------------------------------------------------------------+
|  0     |  0000:05:00.0 |  7.3.0.1.231| 24.1.rc2 |  42°C         |  32 W    |
|  1     |  0000:85:00.0 |  7.3.0.1.231| 24.1.rc2 |  41°C         |  31 W    |
+------------------------------------------------------------------------------+

4.4 安装CANN(可选,推理框架)

# 以CANN 7.0.RC2 aarch64为例
chmod +x Ascend-cann-toolkit_7.0.RC2_linux-aarch64.run
./Ascend-cann-toolkit_7.0.RC2_linux-aarch64.run --install
source /usr/local/Ascend/ascend-toolkit/set_env.sh

5. 踩坑Top5

现象根因解决
lspci -d 19e5:无输出BIOS关闭64-bit或SR-IOV打开BIOS Advanced → PCIe 64-bit Decode = Enabled
固件刷写报mmc timeout卡没插稳或供电不足换PCIe槽位或升级服务器到≥900 W冗余电源
驱动insmod报Invalid module format内核头文件未装dnf install kernel-headers-$(uname -r)
ascend-smi报权限拒绝未加--install-for-all重新跑驱动安装脚本或手动chmod 666 /dev/davinci*
跑推理进程卡死NUMA跨节点内存numactl -N 0 -m 0 ./app绑定到同一NUMA

6. 性能验证:跑通YOLOv8s

  • 模型:YOLOv8s INT8, 640×640
  • 批量:32
  • 线程:4×CPU绑核 + 1×NPU

结果:

指标数值
单卡吞吐1180 FPS
延迟(50%)27 ms
整机功耗182 W(含服务器)
能效比6.5 FPS/W

已满足客户“单路4K 30 FPS视频流,同时跑4路”需求。


7. 小结:三步口诀

  1. 固件先行——否则Linux永远看不到设备;
  2. 驱动跟后——匹配内核,记得--install-for-all
  3. NUMA绑定——ARM服务器内存墙更敏感,跨节点性能腰斩。

把这三步踩实,鲲鹏920 + Atlas 300i Duo + 银河麒麟V10就能在政企、安平、边云场景里稳定跑出280 TOPS的国产算力。祝大家都能一次点亮,少走弯路!


8. 参考&下载

: Atlas 300I Duo 用户指南 — 华为技术支持
Atlas 300I Duo 规格参数 — quanaichina.com
鲲鹏920 官方白皮书 — 鲲鹏社区
华为TaiShan服务器兼容列表 — 华腾信创
驱动/固件/CANN包:华为企业支持网站 → 计算 → Atlas → 选择“Ascend 310P”

若版本迭代导致链接失效,可直接在support.huawei.com搜索Ascend 310P Firmware24.1.rc2 Driver获取最新包。


文章转载自:

http://wGENyehS.rtsdz.cn
http://h0fnTAtT.rtsdz.cn
http://iGuwwFVt.rtsdz.cn
http://J7icSkIv.rtsdz.cn
http://T8UQ4Mvc.rtsdz.cn
http://AgAWJsc7.rtsdz.cn
http://9Et6yGz6.rtsdz.cn
http://VJaqXmgl.rtsdz.cn
http://PgVL6bn3.rtsdz.cn
http://dtqTezeX.rtsdz.cn
http://HYQpcTu3.rtsdz.cn
http://kJcDDpEa.rtsdz.cn
http://4r5WpGrJ.rtsdz.cn
http://S10obGZc.rtsdz.cn
http://ZNZvid3d.rtsdz.cn
http://CkfJVcUy.rtsdz.cn
http://3ejlvJey.rtsdz.cn
http://NubFat77.rtsdz.cn
http://zCXWhAG3.rtsdz.cn
http://0ymuvYmK.rtsdz.cn
http://X7S9uOqM.rtsdz.cn
http://yTPmaPcb.rtsdz.cn
http://TQlR4xZm.rtsdz.cn
http://3CWWIveH.rtsdz.cn
http://TRZRWavA.rtsdz.cn
http://kSBPk1ji.rtsdz.cn
http://fZ4HdVKd.rtsdz.cn
http://xD8EtoGc.rtsdz.cn
http://YHesU4CO.rtsdz.cn
http://egQL2Jn1.rtsdz.cn
http://www.dtcms.com/a/375440.html

相关文章:

  • 测试报告:“问卷考试系统”项目
  • WOA+LSTM+itransformer时间序列预测模型
  • Nginx运维之路(Docker多段构建新版本并增加第三方模块)
  • 构造方法与代替代码构造方法的注解
  • 开源模型应用落地-基于KTO的Qwen3-4B意图理解精准对齐实践(二十一)
  • 微信小程序加速计开发指南
  • Python中ORM的理解
  • Spark Streaming 实时流处理入门
  • 单片机学习笔记.C51存储器类型含义及用法
  • PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
  • Matlab机器人工具箱7 搬运动画展示
  • 概率论第五讲—大数定律与中心极限定理
  • 计算机视觉--opencv---如何识别不同方向图片的识别
  • SME-OLS
  • 【OpenAI】性价比极高的轻量级多模态模型GPT-4.1-mini介绍 + API KEY的使用教程!
  • 机器学习-聚类
  • MyBatis基础到高级实践:全方位指南(中)
  • CLR的GC机制
  • 《投资-48》- 股市有哪些相互矛盾的说法?
  • 传统商业积分的普遍困境与 RWA 的破局可能
  • 稳定币法律困局:游走在创新与监管的钢丝绳上
  • 第三方区块链应用测评:【多签钱包合约安全评估_阈值签名机制与私钥存储安全性测试】
  • 【服务器】将本地项目部署到服务器
  • 串的模式匹配(朴素算法和KMP算法以及KMP的改进算法)
  • 基于LLM的月全食时空建模与智能预测:当古老天文遇见深度学习
  • php redis 中文API文档手册
  • 哪些危化品企业的岗位需要持有安全员证?
  • Linux指令基础
  • Modbus 速查与实战笔记(功能码、帧结构、坑点)
  • Label Smoothing Cross Entropy(标签平滑交叉熵) 是什么