
AMD显卡跑起CUDA应用ZLUDA三步上手【免费下载链接】ZLUDACUDA on non-NVIDIA GPUs项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA用 nvcc 把 llama.cpp 编译出来目标架构只有 NVIDIA 的 sm_86可这个二进制没改一行直接在 AMD 的 RDNA 显卡上跑起了推理速度也没有掉太多。做到这件事的是 ZLUDA 项目它让按 CUDA 编译好的软件原封不动地跑在非 NVIDIA 的 GPU 上。一分钟读懂ZLUDA 是什么ZLUDA 是一个 CUDA 兼容层官方对自己的定位是drop-in replacement可直接替换。它面向手里有现成 CUDA 应用、但手里只有 AMD 显卡的人。和虚拟化方案的关键区别在于它不装成一张假的 NVIDIA 卡而是真的拦截应用的 CUDA API 调用再把随应用分发的 GPU 代码叫 PTX一种跨 GPU 的虚拟指令集重新编译后在 AMD 卡上执行性能接近原生。应用代码一行不用动。目前硬件支持 RX 5000 系列及更新型号官方文档明确说项目还在快速开发期跑不通的应用先查 FAQ。三步跑通第一个 CUDA 应用第一步装好 AMD GPU 驱动再装 HIP SDKAMD 的 GPU 编程套件文档里专门有一章讲怎么装。第二步拿到 ZLUDA 文件去官方发布页下载最新的预编译包或者自己从源码构建最后一节有命令。第三步跑应用。Linux 上把 ZLUDA 目录挂到LD_LIBRARY_PATH最前面然后照常启动你的程序LD_LIBRARY_PATH~/ZLUDA/zluda:$LD_LIBRARY_PATH ./your_appWindows 上更省事把 ZLUDA 全部文件含nvcuda.dll拷到应用目录或者直接用官方启动器zluda.exe -- 应用 参数。如果应用在 Steam 里把同样的命令粘贴进启动项那一栏点开始就行。它怎么把 CUDA 指令翻成 AMD 听得懂的话可以把它理解成机场里的翻译加海关。应用是个只说 CUDA 方言的外国人ZLUDA 就是关口。它翻两类东西一类是 API 调用——应用调cuLaunchKernel这类函数时ZLUDA 提供的libcuda.so先签收、改写语义再转交给 AMD 的驱动接口HIPAMD 的 GPU 编程层另一类是核函数代码——PTX 像一份通用稿可读但没有硬件直接执行它ZLUDA 内置了一个基于 LLVM 的 PTX 编译器把这份稿子重排成 AMD GPU 能执行的机器码编译结果还会进缓存第二次启动不用重编。CUDA 应用 │ cuLaunchKernel(...) ← API 调用全部被拦截 ▼ ZLUDA libcuda.soAPI 翻译 PTX 编译 ▼ AMD GPU经 HIP/ROCm 原生执行走一遍真实场景llama.cpp 本地推理如果你要用 llama.cpp 跑大模型推理官方文档有专门一页。编译时只需要注意一件事CUDA 架构列表里带上 86并强制启用 cuBLAS否则速度会明显下降cmake -B build -DGGML_CUDAON -DCMAKE_CUDA_ARCHITECTURES86 -DGGML_CUDA_FORCE_CUBLAStrue编译完成后按前面说的启动器方式跑起来。这一步如果卡住了通常是因为架构列表只填了 90那是 Hopper 专属或者关掉了 cuBLAS——回到编译参数里对一下就行。排查踩坑三个高频问题应用报 CUDA 错误或者直接退出多半是 ZLUDA 的驱动根本没被加载Windows 上给zluda.exe加--zluda-trace参数Linux 上按文档里的 trace 用法跑一次它会逐条记录 CUDA 调用日志哪个调用失败一目了然。第一次启动特别慢那是 GPU 代码在按需现编译用zluda_precompile 目录先扫一遍应用把所有核函数编译进缓存之后再启动就快了。看到不支持的指令之类的报错先翻 FAQ项目还在开发中且只支持 RX 5000 系列及更新老卡或暂缺的指令把日志带上反馈即可。读源码、查文档下一步往哪走想看翻译是怎么做的核心在 ptx/src/pass/每条 PTX 指令的处理是一个独立的 pass运行时驱动在 zluda/src/。文档入口在 docs/src/快速上手看 docs/src/quick_start.md软硬件支持范围都写在 docs/src/faq.md。想参与开发就从源码构建git clone --recursive https://gitcode.com/GitHub_Trending/zl/ZLUDA cd ZLUDA cargo xtask --release一行启动命令不用改应用也不用虚拟化。挑一个你现有的 CUDA 程序跑一遍十分钟就能摸到它的边界。【免费下载链接】ZLUDACUDA on non-NVIDIA GPUs项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考