CUDA for AMD on Windows(Windows 上让 AMD GPU 跑 CUDA 应用)
CUDA for AMD on Windows(在 Windows 上为 AMD GPU 提供 CUDA 兼容)
📅 2026-09-13 | 🏷️ 工程 & Agent | ⭐ HN 133分/67评论
🔗 原文:https://github.com/Speedstu/CUDA-for-AMD-Windows
是什么
一个可复现的 Windows CUDA 兼容层方案:用 ZLUDA(CUDA 调用翻译层)+ AMD HIP/ROCm,让面向 CUDA 编译的 Windows 计算程序——包括使用 CUDA 版 LibTorch 的训练负载——直接跑在 AMD Radeon 显卡上。仓库提供完整组件栈、验证文档与 GitHub Actions 自动校验,全程仅使用官方公开上游组件。
🔍 小白解读
先说几个词
- CUDA:NVIDIA 显卡的编程接口与生态,AI 框架的「默认语言」。好比所有外卖平台都默认用 A 家支付通道,别的支付想接单就得装「翻译器」。
- ZLUDA:把 CUDA 调用实时翻译成 AMD 能执行指令的兼容层,社区项目,非官方。
- HIP / ROCm:AMD 官方的 GPU 计算栈,相当于 AMD 版的 CUDA。
- LibTorch:PyTorch 的 C++ 发行版,常用于生产环境的训练与推理。
- PPO:一种常用的强化学习算法,本项目的验证负载就是一个 PPO 网络。
这篇到底在说什么
AI 软件几乎都默认「NVIDIA 显卡 + CUDA」。这个仓库做的事,是在 Windows 上搭一条「翻译流水线」:CUDA 程序 → ZLUDA 翻译 → cuBLAS/cuSPARSE/cuFFT 兼容层 → AMD HIP → AMD 显卡。作者用一块 RX 9060 XT 做了完整验证:CUDA 核心数学库检查全部通过,还真实跑通了一个 220 万参数的强化学习网络(PPO)的前向推理、学习与优化器更新,一次完整验证迭代跑了 65,536 个时间步。重要的是全程只用公开组件(ZLUDA 官方 v6-preview.69 + AMD HIP SDK 6.4 + CUDA 版 LibTorch 2.3.0),没用任何来路不明的私有 DLL。作者也明说边界:不是所有 CUDA 程序都能跑,覆盖程度取决于负载用了哪些 CUDA 功能。
这跟普通人有什么关系
手上是 AMD 游戏卡又想跑某些只支持 CUDA 的 Windows 软件(包括部分 AI 应用)的用户,多了一条不换卡的路;对整个行业,CUDA 垄断的高墙上又被撬松了一块砖。
为什么值得架构师关注
- GPU 供应/成本风险的对冲选项:当 NVIDIA 卡价格、供货或出口管制吃紧时,AMD 卡 + ZLUDA 是特定负载(推理、中小规模训练)的候选补充路径,本项目给出了 Windows 端可复现的具体参数。
- 边界必须清醒:验证矩阵目前仅 RX 9060 XT(gfx1200),库覆盖按 workload 决定——POC 价值大于生产价值,现阶段不应直接写入生产架构。
- HN 133 分的讨论热度印证了「去 CUDA 单一依赖」的真实社区需求,值得把 ZLUDA 的版本演进纳入基础设施雷达。
核心内容
- 技术栈:ZLUDA v6-preview.69(官方 release)+ AMD HIP SDK 6.4 + LibTorch 2.3.0(cu118),全公开上游组件、无私有/找回的 DLL。
- 已验证通过:nvcuda、cuBLAS、cuBLASLt、cuSPARSE、cuFFT 的 cuda_check 检查。
- 真实训练负载:2,216,347 参数的 PPO 网络在 CUDA 面向设备上完成前向/推理、学习与优化器更新;一次完整验证迭代 65,536 timesteps。
- 原理链路:CUDA 应用 → ZLUDA → cuBLAS/cuSPARSE/cuFFT 兼容层 → rocBLAS / hipBLASLt / rocSPARSE / HIP → AMD GPU。
- 硬件验证范围:仅 RX 9060 XT(gfx1200);其他 AMD 卡是「候选」而非保证,需按模板提交兼容性报告。
行动建议
有 AMD 显卡闲置的团队可按 README 在测试机复现验证流程,评估自家推理负载的 API 覆盖度;生产环境暂不建议引入;采购侧可把「AMD 兼容路径可行性」列入算力供应链风险预案。