3 步在 AMD 显卡上免费跑起 CUDA 程序:ZLUDA 完整配置教程
【免费下载链接】ZLUDACUDA on non-NVIDIA GPUs项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA
ZLUDA 是一个把 CUDA 应用重定向到非 NVIDIA 显卡(以 AMD GPU 为主)运行的开源项目——你手头的 CUDA 程序不用改代码,就能在 AMD 显卡上跑起来。这条教程带你从检查环境一路做到跑通cuda_check自检,顺带把日常启动方式和常见故障一并处理掉。
先检查环境:驱动、系统与显卡架构
装 ZLUDA 之前,先把三件事确认清楚,后面不会来回折腾:
- 装好较新的 AMD GPU 驱动("AMD Software: Adrenalin Edition")。
- 操作系统为 Windows——ZLUDA 目前主要支持 Windows。
- 确认显卡架构代号
<GPUARCH>。不知道的话查 TechPowerUp GPU 数据库,看 Shader ISA 一栏;例如 AMD Radeon RX 9070 的<GPUARCH>(Shader ISA)为 1201。也可以先下载任意一个 nightlytar.gz包,解压后运行里面的hipInfo.exe,它打印的 gcnArchName 就是你要的<GPUARCH>。
选 HIP SDK 路线:官方版还是 nightly 版
ZLUDA 依赖 HIP SDK,两条路线各有所长:
| 官方 HIP SDK | Nightly 构建版 | |
|---|---|---|
| 安装方式 | ✅ 自动安装 | ❌ 手动解压 |
| 稳定性 | ✅ AMD 稳定支持 | ❌ 无稳定性保证 |
| 代码版本 | ❌ 较旧 | ✅ 较新 |
| 机器学习(PyTorch / TensorFlow) | ❌ 不支持 | ✅ 支持 |
判断标准只有一条:你要不要跑 PyTorch、TensorFlow 这类框架。要,选 nightly;只是跑普通 CUDA 程序,官方版更省心。
官方 HIP SDK 装法
- 访问 AMD HIP SDK for Windows 网站。
- 下载与你操作系统匹配的最新版本。
- 运行安装程序,按屏幕提示完成。
Nightly 版装法:下载、解压、设环境变量
- 打开 ROCm SDK nightly tarballs 站点,下载一个较新的
therock-dist-windows-gfx<GPUARCH>...tar.gz文件。 - 用 7-Zip 把它解压到你选的目录。注意:可能需要解压两次——先解
.tar.gz,再解里面的.tar。 - 设置
HIP_PATH环境变量,指向解压目录。参考 Windows 上编辑用户/系统环境变量的常见做法即可。 - 自检一下目录结构:该目录必须包含
bin子目录,且bin里有各种.dll文件,包括rocblas.dll。看到rocblas.dll在列,说明包没拆错。
跑 cuda_check 验证 ZLUDA 配置
ZLUDA 自带一个小 CUDA 应用,会测试所有性能库的加载和初始化:
zluda.exe -- cuda_check.exe成功的输出大致长这样:
nvcuda : OK (C:\hip_sdk\bin\amdhip64_7.dll) nvml : OK cufft11 : OK cudnn9 : OK (C:\hip_sdk\bin\MIOpen.dll) cudnn8 : OK (C:\hip_sdk\bin\MIOpen.dll) cublaslt13: OK (C:\hip_sdk\bin\libhipblaslt.dll) cusparse12: OK cufft12 : OK cublas13 : OK (C:\hip_sdk\bin\rocblas.dll) cublaslt12: OK (C:\hip_sdk\bin\libhipblaslt.dll) cublas12 : OK (C:\hip_sdk\bin\rocblas.dll) cusparse11: OK每一行都是 OK,说明 ZLUDA 配置完成。括号里是底层 HIP SDK 库的路径。注意它只表示 ZLUDA 找到了这个库,并不保证最终一定用它——如果你的程序在加载 ZLUDA 之前就自己从别处加载了对应库,ZLUDA 会沿用已加载的那一份。
把 ZLUDA 接到你的 CUDA 程序上
装好之后日常用法只有一种姿势:在命令前加zluda.exe --。
zluda.exe -- your_cuda_application.exe跑在 Steam 上的游戏则把同样的写法填进启动选项:在 Steam 库的"常规 → Launch Options"里填
"C:\Games\zluda\zluda32\zluda.exe" -- %command%这样每次启动游戏都会先经过 ZLUDA。如果程序行为不对,可以顺手开上 trace,把%command%前换成--zluda-trace,运行后到C:\Users\%USERNAME%\AppData\Local\Temp\zluda下找日志:
排错自查清单
跑不起来时,按顺序对照:
- 某一行不是 OK(比如 cublas 找不到库)→ 大概率
HIP_PATH指错了,回到"Nightly 版装法"第 4 步检查bin目录和rocblas.dll。 cuda_check.exe卡住不退出 → MIOpen 里有已知 bug,偶尔会挂起不关闭,属已知问题,不必怀疑装错。- 用官方 HIP SDK 时
cudnn8、cudnn9加载失败 → 正常现象,官方 SDK 本身不含 MIOpen,想跑 cuDNN 需要换 nightly 版。 - 程序自己加载了第三方 CUDA 相关库后再进 ZLUDA → ZLUDA 用的是程序先加载的那份库,路径显示仅供参考。
更多细节可以看官方文档目录 docs/,日常操作速查参考 docs/src/quick_start.md。
【免费下载链接】ZLUDACUDA on non-NVIDIA GPUs项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考