At the beginning of October last year, we shared information here on the blog about the direction that ZLUDA would take, Andrzej Janik's project, which had initially been approved by AMD to enter the public domain and was subsequently retracted and requested to be withdrawn.
Since 2022, Andrzej was working at AMD to develop a compatibility layer that would allow AMD GPUs to run CUDA applications, a technology widely used for machine learning and high-performance computing tasks.
The development focused in integrating CUDA with the ROCm stack and the HIP runtime (Heterogeneous Interface for Portability). However, in 2024, the project was suspended, leading Andrzej to open source the code developed under his work at AMD, after receiving consent from a company representative.
Despite this, in October, faced a legal setback, since through a letter from the company's lawyers (AMD) it was made clear that the permission granted through email correspondence had no legal validity. This forced Andrzej to withdraw the code from public access, temporarily affecting the continuity of the project.
But now, in a recent updateAndrzej Janik shared the progress on the ZLUDA project since his last post. The new edition “ZLUDA 4” marks a restart significant for the project following the removal of code related to his time at AMD.
ZLUDA 4 resurfaces now based solely on code developed prior to his work at AMD, which It releases it from any prior contractual restrictions. This new release focuses on enabling CUDA applications to run on AMD hardware, with future plans to support Intel GPUs as well, ensuring the project remains open and focused on expanding CUDA accessibility across diverse platforms.
It is mentioned that ZLUDA 4 is written in Rust and introduces several technical improvements, including a new parser for PTX, the intermediate language that NVIDIA uses in its GPUs.
Hi everyone, this is the first of many updates to ZLUDA. I have been working hard and I am happy to announce that we have reached the first milestone: we have a new version of ZLUDA with a working app. ZLUDA can run Geekbench 5.
This update also includes some words about how to contribute (Contribute to ZLUDA) and changes inside the "new" ZLUDA (New Parser, Atomic Module).
In addition, NVIDIA GPU-specific instruction emulations have been removed for modulo increment and decrement operations, replacing them with native instructions for AMD GPUs. This technical optimization has allowed to improve performance in tests like Geekbench 5 by about 10%, compared to using OpenCL and the previous branch, ZLUDA 3 (although it is mentioned that this performance improvement is specific to Geekbench and cannot be generalized).
Unlike its previous versions, ZLUDA 4 is based exclusively on code developed before Andrzej Janik's time at AMD, ensuring that it is not tied to previous work protected by contractual rights. Although currently limited to AMD GPUs, the project plans to extend support to Intel GPUs in the future.
On the other hand, Andrzej Janik mentions that the project is currently supported commercially and does not accept donations, only requests for changes and other non-monetary contributions.
That's why, for those interested in contributing a code fix or documentation update, simply open a pull request.
Finally, it should be mentioned that Currently the project is still in an early phase development and as such, the ultimate goal is for the “new” ZLUDA to reach a state similar to what it was before the reversion within a year (Q2025 XNUMX).
Furthermore, it is mentioned that current development is focused on AMD GPUs, but the future goal of the new ZLUDA is to support multiple GPU architectures.
Finally, if you are interested in knowing more about it, you can consult the details in the following link