ZLUDA

5个月前发布 252 00

ZLUDA 是一个用于非英伟达GPU 的 CUDA 替代品。ZLUDA 允许在非英伟达 GPU 上运行未经修改的 CUDA 应用程序,并具有接近原生的性能。ZLUDA 支持 AMD Radeon RX 5000 系列及更新的 GPU(包括桌面和集成显卡)。

所在地:
美国
收录时间:
2025-07-05
其他站点:

如果你关注非英伟达 GPU 上运行 CUDA 应用的可能性,那你一定听说过 ZLUDA。它是一个开源项目,旨在让 AMD Radeon RX 5000 系列及更新的 GPU(包括桌面和集成显卡)能够运行未经修改的 CUDA 应用程序,并实现接近原生的性能。

本季度,ZLUDA 在多个方面取得了重要进展。以下是我们为你整理的重点更新内容:

团队规模翻倍:欢迎 Violet 加入开发团队

ZLUDA 的全职开发团队人数已从一人扩充至两人。新成员 Violet 加入不到一个月,就已在多个关键模块上做出重要贡献。

她主要参与了 llm.c 测试项目 的推进工作,后续我们会详细介绍这部分成果。

解决 AMD 驱动中的关键回归问题:comgr ABI 断裂

GPU 运行时系统(如 CUDA、ROCm/HIP、ZLUDA 和 OpenCL)都需要在运行时动态编译 GPU 代码,以支持向前兼容性。

ZLUDA 使用的是 ROCm 提供的 comgr 编译器支持库。然而,随着 ROCm/HIP 6.4 版本的发布,comgr 引入了一个微妙但影响深远的 ABI 断裂:amd_comgr_do_action 函数中操作类型的整数值被重新排序。

这导致 ZLUDA 在调用 comgr 时可能误将“编译”请求识别为“链接”,从而引发静默失败,尤其是在 Windows 平台上更为严重。

该问题已在 PR #364 和 #366 中修复。如果你使用的项目依赖 ROCm/HIP,并且在使用 ROCm 6.4 或 Adrenalin 25.5.1 时遇到意外失败,这可能是根本原因。

向位精确执行迈进:提升指令模拟精度

ZLUDA 的核心目标是在非 NVIDIA GPU 上运行未经修改的 CUDA 二进制文件。这意味着我们必须尽可能准确地模拟每条 GPU 指令的行为。

为了验证这一点,我们引入了一套基于 PTX 的测试机制。这套测试覆盖了大量指令及其修饰符组合,并与原始 NVIDIA CUDA 的输出进行对比。

目前,我们已经在 ZLUDA 上成功运行这套测试套件,并修复了其中发现的一些编译器问题(详见 PR #379)。虽然尚未完成全部指令的测试,但在一些复杂指令(如 cvt)上,我们已经实现了位精确执行。

GitHub 自动化构建上线:无需手动编译即可体验最新版本

自 PR #358 起,我们已在 GitHub 上启用自动化构建流程。这意味着开发者和用户可以更方便地获取最新版本的 ZLUDA,而无需手动编译源码。

目前这一功能仍在完善中,未来我们计划将这些构建包发布到 GitHub 页面的“预发布”区域,以提高可访问性和可见性。

日志记录能力增强:更全面捕捉 CUDA 调用行为

调试任何运行在 ZLUDA 上的 CUDA 应用程序,第一步就是完整记录其所有 CUDA API 调用行为。新版日志系统在这方面有了显著提升。

通过 PR #372 的合并,我们现在可以记录此前无法捕获的中间层交互信息。例如:

  • cuBLAS 如何使用 cuBLASLt
  • cuDNN 如何调用 Driver API

这对调试和功能扩展至关重要。

PhysX 支持小步推进:32 位日志收集开启新篇章

社区成员 @Groowy 开始尝试收集 32 位 PhysX 的 CUDA 调用日志,这是迈向支持 PhysX 的第一步。这一过程发现了 ZLUDA 中若干潜在问题(详见 Issue #374),其中部分还可能影响 64 位应用。

虽然完整的 PhysX 支持仍需社区进一步贡献,但这项工作已被纳入官方路线图。

llm.c 实现重大进展:从 0 到 552 次调用突破

为了验证 ZLUDA 的实际可用性,我们选择了 llm.c 中的 test_gpt2fp32cu 测试作为切入点。该项目虽小,但首次使用了完整的 CUDA 运行时和 cuBLAS 性能库。

Violet 在短时间内提交了多个 PR(#377, #380, ..., #394),使 ZLUDA 能够运行到第 552 次 CUDA 调用(此前在第一次调用即失败)。目前 44 个函数中已有 16 个实现。

这一进展不仅推动了 llm.c 的运行,也为后续支持 PyTorch 等大型项目打下了坚实基础。

数据统计

相关导航

ClipSketch AI (剪辑·素描)

ClipSketch AI (剪辑·素描)

ClipSketch AI 是一个专为视频创作者、社交媒体运营者和二创爱好者设计的全流程生产力工具。它不仅仅是一个视频播放器,更是一个AI 驱动的内容创作工作台。它可以解析 Bilibili 和小红书的视频链接,让你能够帧级精准地标记精彩瞬间。通过集成 Google Gemini 最新的多模态大模型,它能将这些瞬间一键转化为精美的手绘风格故事板,并自动撰写适配社交媒体(如小红书)的爆款文案。

暂无评论

none
暂无评论...