AMD顯示卡可以原生跑NVIDIA CUDA應用了速度還挺快
NVIDIA CUDA經過多年耕耘,鑄就了牢不可破的生態壁壘,外人各種嘗試都無法進入,包括AMD ROCm開發平台,但其實也不是沒有辦法。開發者Andrzej Janik就憑藉著一己之力,借助Intel oneAPI,開發了CUDA相容方案「ZLUDA」,能夠在Intel硬體上原生運行CUDA應用,後來就被停了。
之後在AMD的支援下,ZLUDA重啟了這個項目,能夠讓AMD顯示卡原生運行CUDA應用,不需要任何轉移,也不需要調整程式碼。
唯一要做的,就是用ZLUDA函式庫取代CUDA。
雖然它不能保證每個CUDA應用程式都跑起來,但已經是以一個巨大的突破。
非常可惜,AMD支持這項計畫做了兩年,也給停了──不知道是不是受到了NVIDIA的壓力。
幸運的是,ZLUDA專案並未完全消散,已經免費開源,有興趣的開發者都可以使用,並且確認可以在AMD ROCm平台上無縫運行CUDA應用。
比方說,可以將CUDA當作Blender 4.0或是V-Ray的渲染API,尤其是Blender本來就有Radeon HIP運算渲染器,如今跑在ZLUDA上速度還會更快。
Andrzej Janik也持續研究ZLUDA,其中一個目標就是要讓AMD顯示卡執行NVIDIA DLSS。
內部測試表明,對比OpenCL方案,其性能大部分時候都更好,最多可以領先超過75%,但因為還在開發之中,部分時候效率反而更低。