news 2026/9/12 13:44:10

ZLUDA 让 AMD 显卡直接跑 CUDA 应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ZLUDA 让 AMD 显卡直接跑 CUDA 应用

ZLUDA 让 AMD 显卡直接跑 CUDA 应用

【免费下载链接】ZLUDACUDA on non-NVIDIA GPUs项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA

装完 PyTorch 一直提示驱动对不上号?ZLUDA 是个兼容层(简单说就是站在 CUDA 驱动和真实显卡之间翻译指令的一层软件),让没改过一行的 CUDA 应用能在 AMD 显卡上跑起来,原理就是把 CUDA 指令翻译成 AMD 显卡能听懂的语言。

🧩 ZLUDA 的原理一句话,和它做不到的事

ZLUDA 提供的是模仿libcuda.so(Linux)/nvcuda.dll(Windows)的驱动替身,应用一调 CUDA,就被它拦下来,翻译成 HIP(AMD 编程模型里和 CUDA 对应的东西)再到显卡上执行。对应用来说它就是个"假 NVIDIA 驱动",应用完全不知道自己跑在 AMD 卡上。

代价也在这:只支持 RDNA 架构起的桌面 AMD 卡,OptiX 硬件光追基本没戏,macOS 完全不支持。硬件支持清单:

  • ✅ RX 5000 系列(RDNA)
  • ✅ RX 6000 系列(RDNA2)
  • ✅ RX 7000 系列(RDNA3)
  • ❌ Polaris / Vega 等老消费卡
  • ❌ 服务器级 GPU
  • ❌ Intel GPU
  • ❌ macOS

⚙️ 动手前:先确认这三点

先确认这三点再往下走,否则后面白折腾。

驱动和运行时版本

平台最低要求推荐
Windows 10/11较新的 AMD Adrenalin 驱动 + 官方 HIP SDKHIP SDK nightly 构建(兼容 ML 框架)
Linux(Ubuntu 22.04 起)带 HIP 运行时的 ROCmROCm 最新稳定版

官方 Windows HIP SDK 不含 MIOpen,自测时 cudnn8/9 会报失败;要跑机器学习框架就选 nightly 构建。

目录结构

无论下 release 包还是自己编译,最终你会拿到这样一个目录:

zluda/ ├── libcuda.so / nvcuda.dll # 核心驱动替身 ├── zluda.exe # Windows 启动器 ├── cuda_check.exe # 环境自检 └── trace/ # API 日志工具

整个目录放到一个固定位置,路径记好,后面所有命令都指向它。

环境变量

Linux 一行搞定:

export LD_LIBRARY_PATH="/path/to/zluda:$LD_LIBRARY_PATH"

Windows 走zluda.exe启动器就不需要设变量;自己拷文件的话,直接丢进应用 exe 所在目录就行。

🚀 AMD 显卡跑 CUDA 的两条路

下面按 Windows 和 Linux 各给一条最短路径,挑你系统那条看就行。

路径 A:Windows 上 5 分钟跑起来

  1. 下最新 release 包(官方推荐最新的 pre-release),或克隆源码git clone https://gitcode.com/GitHub_Trending/zl/ZLUDA
  2. 把包里的zluda目录放到任意位置,比如C:\zluda
  3. 用启动器拉起应用:
C:\zluda\zluda.exe -- .\your_app.exe --your-args
  1. Steam 游戏则在启动选项里填C:\zluda\zluda.exe -- %command%,效果一样:

先跑zluda.exe -- cuda_check.exe自检,每行都输出OK、括号里是 HIP SDK 库路径,就说明成功。

路径 B:终端里三行命令搞定(Linux)

  1. 拿到代码或 release 包:git clone https://gitcode.com/GitHub_Trending/zl/ZLUDA
  2. 用一次性环境变量启动:
LD_LIBRARY_PATH="$HOME/zluda:$LD_LIBRARY_PATH" ./your_app --your-args
  1. 应用自带加载器导致环境变量不生效时,换 audit 模式:LD_AUDIT="$HOME/zluda/zluda_ld:$LD_AUDIT" ./your_app

程序正常出结果、日志里没有libcuda.so not found,就说明成功。

🛠️ 跑不动?对照这张表

报错基本集中在这几种,先对号入座:

你看到的报错大概率原因一条命令解决
libcuda.so not foundZLUDA 目录不在库搜索路径里LD_LIBRARY_PATH="$HOME/zluda:$LD_LIBRARY_PATH" ./your_app
HIP SDK not found或找不到 hip64.dllWindows 没装 HIP SDK 或路径没设安装 HIP SDK,把HIP_PATH指向它的根目录
第一次启动特别慢PTX(GPU 中间汇编)首次运行现场编译按 docs/ 里的预编译方法批量预热
Unrecognized statement ...该条 PTX 指令暂不支持zluda.exe --zluda-trace -- your_app.exe抓日志去报 issue

需要抓日志时,Steam 的启动选项长这样:

如果都不是,去 issue 区搜一下报错原文,大概率有人踩过。

🔍 往深了看:ZLUDA 源码与文档

  • docs/src/ 官方文档
  • zluda/src/ 核心驱动实现
  • ptx/test/ PTX 测试集

PyTorch 支持是当前第一优先级,官方说首批支持预计 2025 年四季度。

装好之后,拿你手头那个跑不动的 CUDA 项目试一下,跑不动就用 zluda-trace 抓个日志贴到 issue 区。主分支更新很频繁,遇到版本不兼容先看最新 pre-release 的说明。

【免费下载链接】ZLUDACUDA on non-NVIDIA GPUs项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 13:43:29

内网渗透工具栈:Metasploit、Impacket、CrackMapExec、mimikatz实战

12-内网渗透工具栈:Metasploit、Impacket、CrackMapExec、mimikatz实战合规声明:本文所有命令与演示仅在本地靶场(VulnHub、Metasploitable、自建域环境)或已签署书面授权的渗透测试项目中执行。未经授权的渗透测试属违法行为&…

作者头像 李华
网站建设 2026/9/12 13:41:24

OpenVINO与ONNX模型部署实战:人脸关键点检测的转换、量化与性能优化

简介:面向算法部署与计算机视觉开发者,这份项目源码演示了如何利用OpenVINO加ONNX的流水线,部署支持68点与39点landmark的人脸关键点检测模型,尤其适合需要将PyTorch等训练模型迁移至英特尔硬件、追求实时推理的工程场景。资源共1…

作者头像 李华
网站建设 2026/9/12 13:38:32

从零搭建无人机开发环境:Ubuntu 20.04 + Linux工程基础实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 13:38:13

2026年AIGC降重工具解析与实战指南

1. 2026年AIGC降重工具全景解析在学术写作和内容创作领域,AIGC(人工智能生成内容)检测已经成为继传统查重之后的第二道质量关卡。根据最新行业调研,2026年主流学术平台对AIGC内容的识别准确率已突破90%,这使得如何有效…

作者头像 李华
网站建设 2026/9/12 13:38:05

Node.js生态核心概念:前端开发者必备指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华