独立开发者Speedstu近日发布了一项名为“CUDA-for-AMD-Windows”的开源项目,为Windows系统下的AMD显卡用户带来了突破性进展。该项目通过自动化脚本实现了CUDA专属工作负载在AMD显卡上的直接运行,无需依赖虚拟机或双系统切换,为使用AMD硬件的开发者提供了新的选择。
技术实现层面,该项目基于PowerShell脚本构建,核心机制是将ZLUDA翻译层与AMD原生的HIP/ROCm SDK进行深度整合。脚本能够自动识别GPU架构,精准调用适配版本的ZLUDA(v6-preview.69),并将其与Windows平台现有的ROCm数学库建立映射关系。通过拦截CUDA驱动API及cuBLAS、cuSPARSE、cuFFT三大核心库,开发者成功将这些调用转接至AMD的等效实现,完成了从NVIDIA生态到AMD生态的底层转换。
实测数据显示,在RX 9060 XT显卡上,该项目成功训练了包含220万参数的PPO强化学习模型,全程使用未修改的CUDA库文件。性能对比测试中,采用官方ZLUDA与AMD HIP SDK 6.4组合的方案达到13278 steps/秒的吞吐量中位数,而基于旧版ZLUDA二进制文件改造的方案则为12876 steps/秒,性能差距约3%。开发者指出,后续通过移除LibTorch/ZLUDA中间层后性能显著提升,证实当前翻译机制仍存在优化空间。
该项目填补了AMD生态的重要空白。尽管AMD近期通过ROCm更新为Windows消费级GPU提供了PyTorch和HIP SDK的官方支持,覆盖RX 7000及RX 9000系列显卡,但大量专有应用、遗留代码库和专用AI工具仍仅支持CUDA架构。此前用户若想在AMD硬件上运行这些工具,只能通过WSL2子系统或等待开发者进行HIP移植,而新项目相当于为NVIDIA专属软件提供了兼容层解决方案。
当前方案仍存在局限性。关键AI库如cuDNN、TensorRT和NCCL尚未实现解析,若工具链高度依赖这些组件,项目将无法正常工作。不过开发者强调,实测结果证明AMD显卡运行CUDA软件的障碍主要在于软件层兼容工具的缺失,而非硬件性能限制。随着项目完全开源,社区开发者有望通过贡献代码扩展更多硬件支持,并逐步完善对CUDA库的兼容范围。