ZLUDA implementation for Radeon Open Compute
There’s been some news recently about how AMD is developing a way to implement CUDA on Radeon GPUs, although some of the headlines are more exciting than ZLUDA’s actual capabilities. Andrzej Janik has worked at Intel for several years, working on ways to implement the CUDA platform on Intel chips. He and his team were successful and ZLUDA was born, although it was not adopted by Intel. When he left Intel in 2022, AMD contracted him to implement ZLUDA for use on AMD GPUs with HIP/ROCm. The project was originally meant to be confidential, so no code was released to Github until AMD also chose not to adopt ZLUDA.
Part of the deal with AMD is that if they don’t adopt ZLUDA, Andrzej will be allowed to release it as open source code, which is where all the headlines have been coming from over the past few days. Phoronix has been digging into ZLUDA and discovered that there are currently some limitations, such as it running on the older ROCm 5.x API rather than the latest version. That said, AMD RDNA2 GPUs do see performance improvements when running CUDA-aware benchmarks, sometimes even impressive ones.
While this is undoubtedly an impressive example of coding skills, making CUDA runable on both Intel and AMD GPUs is no small feat. The problem is that both Intel and AMD have their own solutions that they want to see compete with CUDA. NVIDIA also has a huge advantage in that their hardware is specifically developed to optimize CUDA instructions, and they also own it. It will be interesting to see how the public uses ZLUDA now that it is open source.