驱动装不上、透传总报错?三类芯片裸金属适配经验全收进这个 AI Skill | 龙蜥 SkillHub 精选

简介: 把项目中积累的芯片兼容适配实战经验封装为可被 AI Agent 直接调用的能力,助力开发者高效完成芯片适配工作。

专注于 Infra 层的 AI Agent 技能平台——龙蜥社区 SkillHub 已收到数百个技能,当前陆续上线中。我们每周也会收到一些技能的最佳实践分享,本期给大家推荐的是李海仑贡献的 芯片适配专家(GPU/NPU/DCU) Skill 实践文章,他是集技术研发与市场运营于一体的复合型技术从业者,现在是靓推云负责人、FDE 专家讲师、资深 OPC,大模型及 AI 应用落地布道师。这次提交的开源芯片适配 Skill,把项目中积累的芯片兼容适配实战经验封装为可被 AI Agent 直接调用的能力,助力开发者高效完成芯片适配工作。以下是他的实战经验分享:

如果你做过算力集群的底层适配,大概经历过这样的场景:

凌晨两点,机房里一台新到的昇腾 910B 服务器死活装不上驱动。你翻遍了官方文档,发现 x86_64 的包名里居然用的是连字符 x86-64,而 CANN Toolkit 的包名却用的是下划线 x86_64。

等你搞完驱动,又发现 Docker 透传 NPU 还得装一个叫 Ascend Docker Runtime 的东西——跟 NVIDIA 的 Container Toolkit 完全不是一回事。

再换个场景:海光 DCU K100 到货了。你按经验直接套 AMD ROCm 的安装流程,结果 rocminfo 报了个 HSA initialization failed,折腾一晚上才发现海光 DCU 根本不能用 ROCm 公版驱动,得从光合社区下 rock-*.run 包,还得设 HSA_OVERRIDE_GFX_VERSION。

这些问题不是多高深的技术难题,但坑多、分散且每家厂商文档风格各异。我们做了一个 Skill,把这类适配工作固化成了一套可复用的标准流程。

这个 Skill 是什么?

芯片适配专家(GPU/NPU/DCU)Skill,一个聚焦 GPU(NVIDIA)、NPU(昇腾)、DCU(海光)三类算力芯片裸金属适配的智能体 Skill。它的定位就一句话:你告诉它系统版本和芯片型号,它给你一套能直接复制粘贴跑的命令序列。

覆盖范围:

  • 驱动全生命周期:选型、安装、调优、卸载、回滚
  • 硬件兼容矩阵:十维对照表(CPU 架构到框架版本全覆盖)
  • 异构混用风险预判:哪些卡能同机、哪些不能
  • Docker/K8s 透传:NVIDIA Container Toolkit + Ascend Docker Runtime 双路支持
  • 排障日志一键采集:一条命令打包所有诊断信息

这个 Skill 解决什么问题?

问题一:三家厂商的驱动安装方式各不相同

NVIDIA 的 runfile 用 --silent --dkms,昇腾用 --full --install-for-all,海光 DCU 用 -A 全自动安装。

参数体系完全不互通,照搬一个厂商的经验去装另一个,必然踩坑。

比如海光 DCU,最常见的错误就是习惯性加 --install 参数——这个参数对 rock-*.run 包根本不存在。

问题二:包名命名规则不统一

昇腾的包名都不统一:

NPU 驱动包:Ascend-hdk-910b-npu-driver_23.0.3_linux-x86-64.run   ← 连字符
CANN Toolkit:Ascend-cann-toolkit_7.1.RC1_linux-x86_64.run        ← 下划线
复制

下载时少注意一个字符就 404。

问题三:DCU 不能用 ROCm 公版

海光 DCU 基于 ROCm 编程模型(HIP),但软件栈是自研的 DTK,路径在 /opt/hygon/dcu/ 而非 /opt/rocm/。

直接装 AMD ROCm 公版驱动,轻则 HSA 初始化失败,重则 invalid device function (98),连最简单的 kernel 都跑不起来。

而且不同型号的 DCU GFX Version 不同,HSA_OVERRIDE_GFX_VERSION 取值也不一样:

型号

GFX Version

HSA_OVERRIDE

Z100/Z100L

gfx906

9.0.6

K100

gfx926

9.2.6

K100-AI

gfx928

9.2.8

BW1000

gfx936

无需设置

问题四:容器透传各家方案独立

NVIDIA 用 Container Toolkit,NPU 用 Ascend Docker Runtime,两者配置完全不同,daemon.json 的 runtime 注册也各写各的。

而且 NVIDIA 在 2023 年底把仓库从 nvidia-docker 迁到了 libnvidia-container,很多老教程还在用废弃的旧地址,装完发现 --gpus all 不生效——因为少了 nvidia-ctk runtime configure 这一步。

问题五:排障信息散落各处

出问题后要查 dmesg、查 journalctl、查 Xid 错误码、查 NPU 固件日志、查 BMC 带外日志。

每次都是手动一条条敲,漏了哪条就得重新来。

如何使用

访问 SkillHub 平台获取本 Skill:

https://skillhub.openanolis.cn/skill/chip-adapter

使用方式

在支持 Skill 调用的 AI 助手或开发工具中,直接用自然语言提问即可触发。例如:

  • CentOS 7.9 装 A100 驱动
  • 麒麟 V10 上海光 DCU K100 怎么装
  • Docker 怎么透传 GPU 给容器
  • A100 和 910B 能插同一台机器吗
  • 怎么关掉 A100 的 ECC
  • 怎么卸载昇腾 NPU 驱动

Skill 会先确认四个关键信息:内核版本、操作系统、芯片型号、部署场景。信息齐全后,直接给你一套能跑的分步命令,附带前置检查和故障排查表。

如果你在做 CI/CD 自动化部署,也可以将 Skill 集成到流水线中,作为新节点的驱动适配检查门禁。

输出示例

以 Ubuntu 22.04 + 昇腾 910B 为例,Skill 会给你这样的命令序列:

# 0. 创建 NPU 专用运行用户(不做这步会报 ERR_NO:0x0091)
groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
# 1. 安装驱动(注意 x86-64 是连字符)
./Ascend-hdk-910b-npu-driver_23.0.3_linux-x86-64.run --full --install-for-all
# 2. 安装固件
./Ascend-hdk-910b-npu-firmware_7.1.0.5.220.run --full
# 3. 安装 CANN(注意 x86_64 是下划线,跟驱动包不一样)
./Ascend-cann-toolkit_7.1.RC1_linux-x86_64.run --install --quiet
# 4. 环境变量
echo 'source /usr/local/Ascend/ascend-toolkit/set_env.sh' >> ~/.bashrc
# 5. 验证 + 拓扑检查
npu-smi info
npu-smi info -t topo          # 看 HCCS 互联拓扑
复制

每一步都有注释说明为什么这么干。卸载时也会提醒你顺序反过来:先卸固件再卸驱动。

真实案例

案例一:Docker --gpus all 报错

现象:容器内执行 nvidia-smi 报 could not select device driver with capabilities gpu

根因:装了 nvidia-container-toolkit 但没执行 runtime 配置。很多老教程缺了这一步。

修复:

sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker复制

案例二:DCU 装完 rocminfo 无输出

现象:海光 K100 装完驱动后 rocminfo 空 output,但 lspci 能看到设备。

根因:没设 HSA_OVERRIDE_GFX_VERSION,运行时不知道按哪个 GFX 架构编译。

修复:

echo 'export HSA_OVERRIDE_GFX_VERSION=9.2.6' >> ~/.bashrc
source ~/.bashrc
复制

案例三:多卡场景的两个高频坑

坑 1:A100 和 910B 混插

驱动层不冲突(nvidia.ko 和 drv.ko 可共存),但 BAR 空间竞争大,Above 4G Decoding 必须开。更关键的是 PyTorch CUDA 版和 CANN 版不能同时加载到同一进程,必须在容器层面隔离。建议还是分节点部署。

坑 2:多卡训练 NCCL 突然报 ibv_open_device

排查逻辑链:先看 GPU 与 IB 网卡拓扑(nvidia-smi topo -m),再看 IB 端口状态(ibstat),最后查 memlock 限制(ulimit -l)——最常见的根因是 memlock 没设 unlimited。

彩蛋:一键采集排障日志

出问题后不用一条条手动敲,Skill 内置了日志采集脚本,关键 5 行:

mkdir -p /tmp/chip_debug && cd /tmp/chip_debug
lspci -vvv > lspci_vvv.log; dmesg > dmesg.log
nvidia-smi -q > nvidia_smi.log; npu-smi info > npu_smi.log; hy-smi > hy_smi.log
nvidia-bug-report.sh
tar czvf chip_debug_$(date +%Y%m%d).tar.gz *
复制

打包发给后端,一条龙。硬件级故障还需通过 iDRAC/iLO 带外管理通道采集 BMC 日志。

写在最后

做算力适配的工程师大概都有个体会:这活儿技术上不难,但信息太碎。

NVIDIA 的文档是一套体系,海光又是一套,其他各家也有各自的体系。而且每家都在迭代——NVIDIA 把 Docker 仓库迁了,昇腾把 device-plugin 合到 mind-cluster 了,海光的驱动模块名从 hydcu 改成了 hycu。

芯片适配专家(GPU/NPU/DCU) Skill 做的事情就是把碎片化的信息收敛到一处,经过了多轮技术验证(每条命令、每个 URL、每个包名都搜过官方文档确认),减少在海量文档里查找的时间。

适配范围

芯片类型

支持型号(示例)

GPU(NVIDIA)

A100 / A800 / H100 / H800 / T4 / V100

NPU(昇腾)

910B / 910A / 310B / 310P

DCU(海光)

Z100 / Z100L / K100 / K100-AI / BW1000

适配操作系统:Ubuntu 20.04/22.04、CentOS 7/8、麒麟 V10、统信 UOS

如果你正在踩坑,现在就去试试。下次装机翻出来直接抄。若大家在使用此 Skill 的时候发现哪里跟实际有出入,欢迎反馈,我们持续修正。也欢迎更多人把自己工作中沉淀的好经验打包成 Skill 提交上来,SkillHub 的共建大门随时敞开。


相关链接:

芯片适配专家(GPU/NPU/DCU)Skill:

https://skillhub.openanolis.cn/skill/chip-adapter

Skillhub 官网链接:

https://skillhub.openanolis.cn


龙蜥社区 Skill 征集活动——「Skill 创造营」上线以来响应热烈。截至目前,龙蜥 SkillHub 已收到覆盖安全、系统运维、AI 推理、数据库等多个领域,一个面向 Infra 的 AI 技能生态正在加速成型。「Skill 创造营」持续征集中,诚挚欢迎每一位开发者提交你的 Skill 与最佳实践。如果你有感兴趣的方向或者关于 SkillHub 的问题,欢迎通过下方链接反馈给我们。

SkillHub 用户需求收集链接:

https://alidocs.dingtalk.com/notable/share/form/v014jKqm0b74KdjLnw1_f22ghuX_M7AJs3D

相关文章
|
9天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
7646 13
|
7天前
|
人工智能 测试技术 API
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
Jev是TypeSafe AI推出的“系统一模型”,不生成文本,专做毫秒级结构化决策:Choice(多选)、Score(打分)、Noul(是非概率)。响应快193倍、成本低444倍,适合工单路由、内容审核、测试定级等高频判断场景。
1629 4
最近全网爆火的 Jev 到底是什么?适合干什么、怎么用,一篇讲透!
|
4天前
|
人工智能 JavaScript 芯片
DeepSeek 官方偷偷上传 Harness 桌面端安装包,我已经用上了。。附最新下载地址
DeepSeek Harness 官方的桌面端安装包被网友扒出来了,2 分钟讲明白如何使用,体验如何,适合作为 AI 编程工具么?附最新 Windows 和 Mac 双端的下载地址
1377 1
|
7天前
|
人工智能 并行计算 PyTorch
秋叶 ComfyUI 2026 整合包 v3.2 完整部署教程:Python 3.13 + Torch 2.13 全栈升级
秋叶aaaki ComfyUI 2026年8月整合包v3.2正式发布!全面升级Python 3.13.11、PyTorch 2.13.0+cu130及ComfyUI v0.30.2,原生支持MiniMax H3、Wan 2.2、Qwen-Image-2.1等2026主流音视频/图像模型,解压即用,无需环境配置。
1131 9
|
21天前
|
人工智能 自然语言处理 安全
阿里云千问办公 QwenWork详细介绍:产品核心能力、典型场景、价格及常见问题解答
千问办公是阿里云推出的一站式AI办公平台,主打"不止于对话,更注重交付",依托通义千问旗舰大模型,用户一句话即可完成数据分析、PPT生成、视频剪辑等复杂任务,直接输出可用成果。产品深度打通钉钉生态与企业OA,覆盖桌面端、网页端,提供企业标准版198元/人/月等多档订阅方案,新用户注册即赠2000积分,适配工程师、HR、财务等多职业办公场景,成为能动手干活的"全能AI同事"。
3659 10
|
5天前
|
编解码 缓存 PyTorch
16G 显卡能跑 Qwen-Image 2.1 吗?
9月20日,阿里Qwen开源Qwen-Image-2.1:7B DiT图像模型+8B文本编码器+VAE,单模型支持文生图与图像编辑,原生输出2K PNG(含Alpha通道),支持10张参考图。在自建Qwen-Image-Bench达60.28分(开源模型第一),GenAI Showdown文生图排名7/15。16G显存可跑1024×1024(需INT8量化+ComfyUI优化),但2K需24G以上。注意其Qwen Research License限非商业用途。
588 1
|
6天前
|
人工智能 编解码 并行计算
MiniMax-H3 一键整合包技术文档:8G 显存运行 AI 漫剧制作 —— 角色替换 / 动作迁移 / 文图生视频部署与调参指南
MiniMax H3 是 MiniMax 开源的全模态视频生成模型,支持文/图/音/视多条件输入,输出最高2K、15秒带双声道音频视频。本文档详述其Int8量化版在8GB显存下的本地一键部署、三段式工作流(EDIT/REPLACE/CONTINUE)、参数调优及常见问题排查。(239字)
|
15天前
|
缓存 IDE Java
【保姆级】Android Studio下载、安装和汉化教程(2026最新)
Android Studio 是 Google 官方推出的免费 Android 应用开发集成环境,基于 IntelliJ IDEA,内置模拟器、调试器、性能分析及 Compose 界面工具,功能全面,文档丰富,是安卓开发首选工具。(239字)
1689 1

热门文章

最新文章