
前沿资讯
7月前更新
0
ZLUDA是一个开源项目,它创建了一个CUDA兼容层,使得原本为NVIDIA GPU设计的CUDA应用程序能够在AMD和Intel GPU上运行而无需修改。这个项目最初由开发者安杰伊·亚尼克(Andrzej Janik)发起,目的是打破NVIDIA在高性能计算和人工智能领域的垄断,为用户提供更多的GPU选择。
ZLUDA的技术原理是通过拦截CUDA库的调用并将其转换为相应GPU平台的原生指令。对于Intel GPU,ZLUDA使用Intel的Level Zero低级API来实现CUDA功能。对于AMD GPU,ZLUDA利用AMD的ROCm平台来实现CUDA功能。这样,ZLUDA能够支持大量现有的CUDA应用,而不需要开发者重新编写代码。在性能方面,ZLUDA在某些测试中表现良好,例如在Blender 4.0渲染测试中,性能提升大约10-20%。
然而,ZLUDA的发展并不一帆风顺。在AMD决定停止资助后,该项目几乎走到了尽头。AMD要求删除了所有使用其资金开发的代码,主要是因为担心与NVIDIA产生潜在的法律纠纷,因为NVIDIA对于CUDA的兼容性有着严格的限制。
幸运的是,最近ZLUDA在一位匿名赞助商的支持下回到了开发阶段。ZLUDA不再仅仅局限于专业工作负载,而是将其开发重点转向了AI和机器学习工作负载。ZLUDA现在的目标是支持多个GPU厂商,使其能够跨不同的GPU架构运行,包括AMD和NVIDIA。
目前,大部分开发工作集中在AMD GPU上,特别是RDNA1及其更新的架构,但ZLUDA的愿景是实现更广泛的多架构兼容性。这意味着ZLUDA将支持像Llama.cpp、PyTorch和TensorFlow这样的AI/ML框架,并特别关注重构NVIDIA代码路径,使其与其他GPU供应商兼容。
据说ZLUDA将支持ROCm 6.1+,为未来更广泛的多架构兼容性奠定了基础。如果这个项目成功,我们将会看到AI软件中的排他性界限被打破,允许架构利用彼此的能力以获得最佳结果。
项目发起人安杰伊预测,大约需要一年的时间才能将新的ZLUDA代码开发到稳定状态,使其能够有效地处理跨多个GPU的AI/ML工作负载。随着项目的进展,他们鼓励并欢迎来自开源社区的贡献,ZLUDA预计将继续保持开源,鼓励更多的开发者参与到项目中来,共同推动项目的发展和创新。
赞助商目前保持匿名,但开发者透露,在适当的时机,赞助商将公开自己的身份。这一公开预计将为ZLUDA项目提供更多的透明度,同时也将揭示赞助商对项目发展方向和未来支持的计划。