Demands from AMD lawyers led to the removal of part of the code of ZLUDA, an open source implementation of CUDA

Andrzej Janik, known for his work creating implementations of CUDA technology for Intel and AMD GPUs, was forced, at the request of AMD, to remove from the public domain part of the code of the open source ZLUDA project, which allows running unmodified CUDA applications on systems with AMD GPUs using ROCm stack and runtime HIP (Heterogeneous-computing Interface for Portability). It is separately noted that the developer has not received any requests related to the ZLUDA project from NVIDIA, which owns the rights to CUDA technology.

The ZLUDA project was initially developed for Intel GPUs, but in 2022 Andrzej left Intel and signed a contract with AMD to develop a layer for CUDA compatibility. At the beginning of 2024, AMD decided that running CUDA applications on AMD GPUs was not of interest to the business, which, according to the terms of the contract, allowed the developer to open up its developments. During the email correspondence, the developer also received permission to publish from an AMD representative.

6 months after the publication of the changes created while working for AMD, lawyers for this company contacted Andrzej and made it clear that the permission previously provided during the correspondence was not legally binding. Details of correspondence with AMD lawyers are not provided due to a non-disclosure agreement. However, the result was that the developer was forced to remove all code created for AMD from the public domain.

Andrzej does not intend to quit working on the project and plans to recreate it based on the code that existed before the start of cooperation with AMD (the old code was designed to work with Intel GPUs). Details about the further development of the project will be presented within a few weeks. So far, it has only been reported that some of the functionality will be lost, and that some parallel developed projects will not be opened. For example, it was planned to publish the result of work on support for NVIDIA GameWorks technology, which was brought to the possibility of using GameWorks-based effects in the game “Batman: Arkham Knight”.

Additionally, we can note the development of the SCALE toolkit, aimed at providing the ability to run CUDA applications on systems with AMD GPUs. A key component of the developed toolkit is an option-level compiler compatible with nvcc, based on the code base of the LLVM project and allowing you to compile CUDA code into a representation for running on AMD GPUs. The project also provides binding libraries that implement the CUDA-X API on top of the AMD ROCm stack, Runtime and driver APIs for AMD GPUs. The toolkit simulates the presence of the NVIDIA CUDA Toolkit for applications, which allows you to build CUDA code for AMD GPUs without making changes to the source code and build scripts.

The SCALE toolkit is currently in beta testing (packages are available for various Linux distributions). SCALE has been tested with systems such as Blender, hashcat, llama-cpp, NVIDIA Thrust, GOMC, stdgpu, xgboost, faiss and AMGX on systems with AMD gfx1030 (Navi 21, RDNA 2.0) and AMD gfx1100 (Navi 31, RDNA 3.0) GPUs ). The SCALE project is proprietary and is distributed without providing source code. The license allows commercial use, distribution, and modifications, but prohibits reverse engineering. The developers do not rule out that in the future they may return to considering the possibility of opening the code, but at this stage of development it was decided not to publish the code.

Source: opennet.ru

Add a comment