Andrzej Janik presentó el lanzamiento de ZLUDA 6, una implementación abierta de la tecnología CUDA. El objetivo del proyecto es permitir la ejecución de aplicaciones CUDA sin modificar en sistemas con GPU diferentes a las GPU NVIDIA, con un rendimiento cercano al de las aplicaciones que se ejecutan sin capas. El código del proyecto está escrito en Rust y se distribuye bajo las licencias MIT y Apache 2.0.
ZLUDA 6 se ha convertido en el tercer lanzamiento importante del proyecto, formado después de
la limpieza de la base de código de aquel desarrollado durante el tiempo que Andrzej trabajó en AMD. Desde 2022, Andrzej trabajó en AMD en la creación de una capa de compatibilidad de GPU AMD con CUDA, pero en 2024 el proyecto fue cancelado. De acuerdo con los términos del contrato y tras obtener el permiso para la publicación de un representante de AMD, Andrzej abrió el código de los desarrollos realizados durante su tiempo en AMD, permitiendo la ejecución de aplicaciones CUDA sobre el stack ROCm y el runtime HIP (Heterogeneous-computing Interface for Portability).
El año anterior, Andrzej se vio obligado a retirar el código de acceso público tras una carta de abogados que indicaron que el permiso otorgado en correos electrónicos no tiene validez legal. Después de esto, Andrzej comenzó a trabajar en una nueva edición de ZLUDA, basada en la base de código que existía antes de su trabajo en AMD. En su forma actual, el desarrollo se centra en la ejecución de aplicaciones que utilizan CUDA para acelerar tareas relacionadas con el aprendizaje automático. El proyecto actualmente se limita a trabajar en GPU AMD, pero se adaptará en el futuro para GPU Intel.
En esta nueva versión se ha añadido soporte inicial para la ejecución sobre ZLUDA del motor de simulación de procesos físicos PhysX y del sistema de modelado 3D Blender. El soporte de PhysX actualmente tiene el estado de una versión alfa temprana
y está limitado a la capacidad de ejecutar ensamblajes de 32 bits de PhysX, lo que permite que en sistemas con GPU AMD se ejecuten algunos juegos antiguos que utilizan este motor. Por ejemplo, en el juego Mafia II, al activar ZLUDA, se pudo aumentar los FPS de 26 a 80 cuadros por segundo. Se ha implementado soporte para texturas suficiente para ejecutar Blender usando ZLUDA. Se ha mejorado significativamente el soporte para la plataforma Windows. Se han ampliado las capacidades para ejecutar sobre ZLUDA marcos de trabajo para la ejecución de grandes modelos de lenguaje (por ejemplo, PyTorch) utilizando optimizaciones CUDA aplicadas para las GPU NVIDIA.
Fuente: opennet.ru
