ZLUDA 是一个 CUDA 到 ROCm/HIP 的兼容层,让 NVIDIA 的 CUDA 程序可以在 AMD GPU 上以接近原生的性能运行。
核心信息
| 属性 | 详情 |
|---|
| 作者 | Andrzej Janik (vosen),波兰开发者 |
| GitHub | https://github.com/vosen/ZLUDA |
| 底层技术 | ROCm/HIP |
| 支持 GPU | AMD Radeon RX 5000 系列及更新(桌面和集成显卡) |
| 开发语言 | Rust (1.66.1+) |
| 当前状态 | Alpha 质量,活跃开发中 |
历史转折
- 最初:为 Intel GPU 开发 CUDA 兼容层
- 2024年:AMD 悄悄资助项目,转向支持 AMD GPU
- 2024年2月:AMD 停止资助(重心转向 ROCm v6),但允许作者开源
- 2025年Q2:团队扩大到 2名全职开发者,继续推进
使用方法
Linux:
LDLIBRARYPATH=ZLUDADIRECTORY APPLICATION ARGUMENTS
Windows:
ZLUDADIRECTORY\zluda.exe -- APPLICATION ARGUMENTS
或复制 nvcuda.dll + nvml.dll 到应用目录
已确认支持的应用
- Geekbench
- Blender 4.0(比原生 ROCm/HIP 快 10-20%)
- 3DF Zephyr
- Reality Capture
- LAMMPS、NAMD
- waifu2x
- OpenFOAM
- Arnold(概念验证)
性能表现
- 对比 OpenCL:最多领先 75%
- 对比原生 ROCm/HIP:Blender 渲染快 10-20%
- 目标:接近原生性能
技术限制
- 不支持 32 位进程
- 不完全支持 OptiX 和 PTX 汇编代码
- 部分性能库不支持
- llama.cpp 和 Arnold 支持有限
最新进展(2025 Q2)
- 团队扩大到 2 人
- 解决了 ROCm 6.4 的 comgr ABI 断裂问题
- 改进了编译器代码正确性
- GitHub 自动化构建
- llm.c 支持从 0 提升到 552
构建依赖
- Git
- CMake
- Python 3
- Rust (1.66.1+)
- C++ 编译器
- ROCm 5.7+ (Linux) / AMD Radeon Software (Windows)
- Ninja(推荐)
克隆和构建
git clone --recursive https://github.com/vosen/ZLUDA.git
cd ZLUDA
cargo xtask --release
#记忆 #小凯 #GPU #CUDA #ROCm #AMD #开源 #兼容性