简介:AMD官方NPU驱动包,适配Windows 11系统(需build 22621.3527以上),面向使用Ryzen 7040/8040/8000系列及Ryzen AI 300系列处理器、需要调用NPU开展AI推理任务的开发者和进阶用户。包内共323个文件,包含66个xclbin二进制加速内核、54个dll运行库、16个h与14个hpp头文件,以及大量ini配置和bat脚本,用于驱动安装、环境部署与性能压力测试,压缩包总大小136.95MB。资源已吸引3114人学习下载,说明其在相关社区具有较高参考价值。通过这份资源可获得AMD NPU驱动的完整组件与配套测试脚本,其中安装脚本负责驱动部署,性能测试脚本可快速评估NPU算力表现,有助于在本地搭建NPU开发环境并验证模型推理性能。
1. 先拆开包装:NPU-RAI1.2 究竟是什么
一个多月前我在 Windows 11 的任务管理器里发现性能页多了一栏“AI 引擎”。当时那台 AMD 平台的笔记本设备管理器里同时出现了显卡驱动和一个单独列出的“AMD IPU Device”。我一开始以为 IPU 是核显的一部分,后来查了驱动版本才明白,它走的是完全独立的一套栈:NPU-RAI1.2。从命名看,RAI 1.2 应该是 Ryzen AI 软件栈在某个阶段的驱动打包版本,20240729 对应 2024 年 7 月 29 日放出的安装包。它管的是集成在处理器里的 XDNA 神经网络处理单元,不是 GPU。
1.1 它不是又一个显卡驱动
AMD 在消费级平台的 NPU 主要体现在两个地方:一个是 Ryzen 7040/8040 系列里叫 Ryzen AI 的 XDNA 引擎,另一个是新的 Ryzen AI 300 系列上的 XDNA2。它们的作用很直接,把适合神经网络的矩阵运算从 CPU/GPU 上接走一部分,比如摄像头背景虚化、本地语音识别、简单目标检测。NPU 不像显卡那样负责光栅化和渲染,也不像 CPU 那样跑通用指令,它更接近一块低功耗的专用加速器。所以你在设备管理器里看到它叫 IPU,在任务管理器里叫 AI 引擎,完全是同一个东西。
既然硬件是独立的一块,驱动自然也不是 Adrenalin 显卡驱动。显卡驱动管的是显示输出和 3D 加速,NPU 驱动管的是把上层框架的请求翻译成 XDNA 能执行的指令。这里的上层框架包括 ONNX Runtime、Windows ML、DirectML。这也是为什么有些机器显卡驱动已经更新到最新,任务管理器里的 AI 引擎占用却一直是 0——因为 NPU 驱动没装,或者版本不对,上层根本找不到设备。
1.2 它在软件栈里的分工
实际使用中,CPU、GPU、NPU 的分工可以类比成三条流水线:CPU 什么活都能干但不擅长大规模并行;GPU 适合渲染和大矩阵并行;NPU 则专攻神经网络推理,单位功耗下的处理能力更好看。但 NPU 不是万能的,很多模型在 GPU 上可能跑得更快。它最大的价值是功耗低、不占显卡占用,适合一直挂机的场景。所以装驱动之前最好先想清楚:你买这台机器到底是单纯为了显卡性能,还是真的需要 NPU 承担一部分持续推理任务。
我后来拆过这个驱动包的安装内容,里面除了设备驱动本身,还带了一些运行时 DLL。这些 DLL 是 ONNX Runtime 执行提供程序(Execution Provider)要用的。只通过设备管理器手动更新 AMD IPU Device 的驱动,和完整安装整个 NPU 驱动包,效果并不一样。前者只是让操作系统识别硬件,后者才会把上层运行时需要的文件一起布置好。
2. 安装前我会先过的三关:硬件、系统、BIOS
2.1 处理器和系统版本
先确认机器真的带 NPU。最简单的方法是在设备管理器里看有没有 AMD IPU Device,或者任务管理器性能页里找有没有 AI 引擎这一栏。都没有的话,去查 CPU 型号,AMD 官网标了 Ryzen AI 字样的处理器才支持。普通的老款 Ryzen 即便能装上这个驱动,硬件不存在也是白搭。
系统版本同样关键。Windows 11 22H2 之前的版本对 NPU 的支持很初级,任务管理器不显示 AI 引擎是很正常的事。我建议至少升级到 23H2,最好是 24H2,因为新版本对 NPU 的任务调度、驱动签名识别和任务管理器展示都更成熟。具体版本用 winver 看,里面写着内部版本号。如果版本太老,NPU 驱动可能能装上,但你在系统里找不到任何入口,这时候先别折腾驱动,把系统更新做完再说。
2.2 BIOS 里的开关
不少笔记本出厂把 NPU 相关项默认开着,但台式机主板或者某些高性能本会默认关闭。进 BIOS 后别一个菜单一个菜单翻,直接在搜索栏里输 IPU、NPU 或 XDNA,把对应项改成 Enabled。存盘重启后,再进设备管理器看有没有 AMD IPU Device。
这一步我踩过坑。驱动装得再对,BIOS 关着就跟没装一样。而且这个坑特别隐蔽,你在系统层面查不到任何冲突,只有进 BIOS 才能发现。所以装驱动前花两分钟看一眼 BIOS,比装完之后反复排查高效得多。
2.3 旧驱动残留
如果你之前装过旧版 NPU 驱动,或者折腾过 ROCm、DirectML 相关组件,建议先卸载干净。我见过最头疼的情况是驱动版本和运行时 DLL 版本对不上,上层 provider 能列出来,但一跑推理就崩。卸载时去设置 -> 应用里找 AMD NPU Driver、Ryzen AI 这类条目,正常卸载后重启。
这里有个原则要先说:我不会拿 DDU 去清 NPU 驱动。DDU 是给显卡驱动准备的,清理范围很大,会把 AMD 相关联的软件栈当残留一并干掉。后面如果因为 DDU 导致 IPU 驱动也没了,你还得花时间重新装回来。
| 检查项 | 怎么查 | 正常状态 |
|---|---|---|
| 处理器型号 | 系统 -> 关于 | 型号带 Ryzen AI / 7040 及以上 |
| 系统版本 | winver | 22621 以上 |
| BIOS 设置 | 开机进 BIOS 搜索 NPU/IPU | Enabled |
| 设备管理器 | devmgmt.msc | AMD IPU Device 无感叹号 |
3. 从下载包到设备管理器显示 OK 的完整过程
3.1 拿到正确的安装包
先在 AMD 官网支持页搜 NPU Driver,或者用 AMD 官方驱动自动检测工具把版本匹配出来。手动下载时注意发布时间和版本号,别把显卡驱动页面里的 Adrenalin 包当成 NPU 驱动用。虽然它们都带 AMD 字样,但安装的设备完全不同。
下载下来是个 .exe,一般几十到一百多 MB。双击后按向导走,我建议保持默认路径,不要指定到奇怪目录。安装过程会经历一个比较长的进度条,中间可能会有设备管理器刷新几次,这是正常的,别强制重启。装完之后如果驱动签名提示失败,先检查系统时间和时区,证书校验对时间很敏感。
3.2 装完怎么看设备状态
装完先别急着跑模型,重启一次。重启后打开设备管理器,在系统设备或软件设备下面找 AMD IPU Device,右键属性,看驱动程序日期是否对应你下载的安装包日期。如果你更习惯命令行,可以用 PowerShell 快速验证:
Get-PnpDevice -PresentOnly | Where-Object { $_.FriendlyName -match 'IPU|NPU' } | Format-Table FriendlyName,Status -AutoSize看到 Status 是 OK,说明设备层面已经就位。如果这里没过,后面任何运行时都找不到 NPU。很多人在系统里跑各种 Python 库,折腾半天发现 AI 引擎一栏始终是 0,回头一看才发现设备管理器里这个设备根本没正常起来。
3.3 任务管理器里的 AI 引擎
Windows 11 的任务管理器性能页里,内存、磁盘、GPU 后面一般会多出一栏,名字可能是 AI 引擎或 NPU。没看到的话,先看系统版本;版本没问题但就是没有,把任务管理器整个关掉重新打开一次,有时是新装驱动后任务管理器没刷新。
安装前后最直观的变化是,原来一直显示 0% 的地方以后会有占用曲线。不过 0% 也正常,驱动装完不代表软件正在用它。它只有在有推理任务时才会动起来。
4. 真正压测 NPU:我用 ONNX Runtime 跑了一个检测模型
4.1 先确认 Execution Provider 列表
装完驱动后,我第一次想干的事就是让任务管理器里的 AI 引擎真正动起来。我走的是 AMD Ryzen AI 官方 SDK 那条线,里面带了一个封装好的 ONNX Runtime。进入 Python 环境后先打印 provider 列表:
import onnxruntime as ort print(ort.get_available_providers())普通 pip 安装的 onnxruntime 一般只显示 CPUExecutionProvider;如果用 DirectML 版本可能多一个 DmlExecutionProvider。AMD 这套栈会多出和 VitisAI 相关的 provider 名称。看到这个名字,说明驱动到运行时的链路已经通了。
4.2 跑模型的正确姿势
确认 provider 之后,加载模型时直接指定 execution provider 就行,大概长这样:
session = ort.InferenceSession("yolov8n.onnx", providers=["VitisAIExecutionProvider"])注意,provider 的确切拼写以你自己 SDK 输出的列表为准,不同版本包的命名可能有差异。照抄我的字符串如果报错,第一步不是骂驱动,而是先看 provider 列表里实际支持什么。
我当时跑的是一个轻量目标检测模型,分辨率不高。跑之前先打开任务管理器的 AI 引擎一栏,把窗口固定在屏幕上。推理循环开始后,占用会从 0 直接跳起来,反复几轮之后能看到一个相对稳定的占用值。和跑 GPU 相比,NPU 的占用曲线跳动更平缓,核心温度也低一些。整机风扇几乎听不到额外噪音,这正是 NPU 最讨喜的地方。
4.3 不写代码也能观察
如果不想折腾 SDK,日常软件里也能验证。Windows 11 自带相机应用或某些视频软件的人像背景虚化,在支持 NPU 的设备上会把效果处理交到 AI 引擎。我开着任务管理器参加视频会议并开启背景虚化时,能看到 AI 引擎占用稳定在 20% 到 50% 之间。这个测试不需要装任何开发工具,用来快速判断驱动是否正常很实用。
5. 踩坑记录:三个高频问题加一条排查链路
5.1 设备管理器里根本没有 AMD IPU Device
现象是装完驱动、重启之后任务管理器没有 AI 引擎,设备管理器里也搜不到 AMD IPU Device。我的排查顺序是这样:先打开设备管理器,菜单栏选查看 -> 显示隐藏的设备,排除驱动装上了但被系统隐藏的情况。再用上面那条 PowerShell 命令查 PnP 设备,还是没有。最后进 BIOS,在搜索框里输 NPU,发现果然被禁用了。改成 Enabled 后重启,设备才出现。
如果你也遇到这个情况,先从 BIOS 查起,别一上来就反复重装驱动。重装十次都解决不了 BIOS 层面禁用一个设备的问题。
5.2 DDU 顺手清掉了 NPU 驱动
我之前为了让显卡驱动干净,习惯性用 DDU 卸载 AMD 显卡驱动。结果再开机,任务管理器 AI 引擎直接消失,设备管理器里 AMD IPU Device 也从列表里没了。原因是 DDU 清理范围很大,把 AMD 相关联的软件栈都当残留清了。
从那以后我养成了两条经验:需要清显卡驱动就用 DDU,但清完以后把 NPU 驱动再完整装一遍;不需要清显卡驱动就别多手。顺序一定不能反过来。
5.3 WSL 里看不到 NPU 是正常的
有些朋友在 WSL2 里装 AMDGPU 驱动和 OpenCL、ROCm 相关组件,结果发现找不到 NPU 设备,以为没装好。其实 WSL2 里的这套东西是给 GPU 计算用的,和 NPU 的 Windows 侧驱动栈不是一回事。
至少在目前公开发布的流程里,AMD NPU 的主要使用路径还是 Windows 系统里的 ONNX Runtime、Windows ML 和 DirectML。想在 WSL 里直接看到 NPU 设备节点,现阶段还不太现实,不用在这上面浪费太多时间。
5.4 驱动超时提示别急着怪 NPU
AMD 平台上经常有人看到“发现您系统上的驱动程序超时”的弹窗,第一反应就是 NPU 驱动坏了。这个提示大部分和显卡驱动有关,尤其是在浏览器开硬件加速、视频解码频繁切换的时候。我的经验是先更新 AMD 显卡驱动和芯片组驱动,再补 NPU 驱动。如果只在跑 NPU 推理时出现超时,才需要回头查 NPU 驱动版本和系统日志。事件查看器里搜 IPU 或 NPU 关键字,能看到比弹窗更明确的信息。
从最初以为 IPU 是显卡驱动的附属品,到后来把 NPU-RAI1.2 装好并在任务管理器里看到 AI 引擎真正跑起来,整个过程并不复杂,但中间确实有不少容易误判的岔路。我现在把这台机器的 NPU 驱动固定在这个版本,日常只用它做低功耗推理,稳定比追新更重要。如果你手头正好有 AMD 平台且带 NPU 的机器,建议按文中的检查顺序走一遍,能少绕很多弯。
本文还有配套的精品资源,点击获取