有这样一个项目,去年差点关门大吉,今年却又活了过来。它叫ZLUDA,一个看起来很普通的开源项目,但做的事情却很不普通——让非英伟达的GPU也能跑CUDA程序。

最近,开发团队从一个人扩展到两个全职开发者,新加入的开发者Violet在不到一个月的时间里就做出了重要贡献。更重要的是,他们在AI大模型支持方面取得了突破性进展。

ZLUDA本质上是一个翻译层,就像语言翻译一样,它把CUDA的"方言"翻译成其他GPU能理解的"普通话"。这听起来简单,做起来却极其复杂。

以他们测试的llm.c项目为例,这个小程序需要调用8186次CUDA函数,涉及44个不同的API。一开始,ZLUDA在第一次调用时就崩溃了。经过不断改进,现在能支持到第552次调用,已经完成了16个函数的支持。

这种进步看似缓慢,实则来之不易。每一个函数的适配都需要确保结果的绝对准确——要么完全相同,要么在严格的数值误差范围内。

对中国AI发展来说,ZLUDA这样的项目意义深远。

英伟达GPU价格昂贵,且经常受到供应限制。如果能让AMD、Intel等其他厂商的GPU也能高效运行CUDA程序,不仅能降低成本,还能增加供应的稳定性。

目前AI行业过度依赖CUDA生态,这种翻译层技术在现有基础上构建兼容性桥梁。这种"软性突围"的方式,往往比硬碰硬更有效。ZLUDA没有试图替代CUDA,而是让更多硬件能够使用CUDA生态。

随着ZLUDA项目的不断完善,我们可以期待几个方向的发展:

首先是更多GPU厂商的支持。目前主要针对AMD GPU,未来可能扩展到Intel、国产GPU等更多平台。从目前的AI大模型,逐步扩展到游戏、科学计算等更多领域。

最后是生态的完善。随着支持的CUDA功能越来越多,基于ZLUDA的应用生态也会逐步建立。

ZLUDA项目虽然还在路上,但它代表的理念——通过技术创新打破垄断,为行业创造更多可能性——值得我们深思。

Logo

分享最新的 NVIDIA AI Software 资源以及活动/会议信息,精选收录AI相关技术内容,欢迎大家加入社区并参与讨论。

更多推荐