Andrzej Janik presented the release of ZLUDA 6, an open implementation of CUDA technology. The project's goal is to enable the execution of unmodified CUDA applications on systems with GPUs other than NVIDIA GPUs, achieving performance close to that of applications running without overhead. The project's code is written in Rust and is distributed under the MIT and Apache 2.0 licenses.
ZLUDA 6 has become the third significant release of the project, formed after
cleaning the codebase of code developed during Andrzej's time at AMD. Since 2022, Andrzej has been working at AMD on creating a compatibility layer for AMD GPUs with CUDA, but the project was discontinued in 2024. In accordance with the contract terms and after obtaining permission to publish from an AMD representative, Andrzej opened the code of the developments made during his time at AMD that allow the execution of CUDA applications on top of the ROCm stack and the HIP runtime (Heterogeneous-computing Interface for Portability).
The year before last, Andrzej was forced to remove the code from public access after receiving a letter from lawyers indicating that the permission given in email correspondence had no legal force. Following that, Andrzej began working on a new version of ZLUDA, based on the codebase that existed before he started at AMD. In its current form, development is focused on running applications that use CUDA to accelerate tasks related to machine learning. The project is currently limited to working on AMD GPUs, but it will be adapted for Intel GPUs in the future.
The new release includes initial support for running the PhysX physics simulation engine and the 3D modeling system Blender on top of ZLUDA. Support for PhysX is currently in early alpha status and is limited to the ability to run 32-bit builds of PhysX, allowing certain older games that use this engine to run on systems with AMD GPUs. For example, in the game Mafia II, after enabling ZLUDA, the FPS was increased from 26 to 80 frames per second. Support for textures sufficient for running Blender using ZLUDA has been implemented. Windows platform support has been significantly improved. Capabilities for running frameworks for large language models (e.g., PyTorch) using CUDA optimizations applied for NVIDIA GPUs on top of ZLUDA have been expanded.
The alpha version is limited to launching 32-bit PhysX builds, allowing some older games utilizing this engine to run on systems with AMD GPUs. For instance, in the game Mafia II, enabling ZLUDA improved the FPS from 26 to 80 frames per second. Texture support has been implemented sufficiently to run Blender using ZLUDA. Windows platform support has been significantly enhanced. Capabilities have been expanded for running large language models (e.g., PyTorch) on top of the ZLUDA framework, utilizing CUDA optimizations for NVIDIA GPUs.
Source: opennet.ru
