ZLUDA, una prometedora alternativa a CUDA con un futuro incierto
NVIDIA ejerce un fuerte dominio en el sector de la computación de propósito general sobre la unidad de procesamiento de gráficos (GPGPU) con CUDA, una tecnología privativa del gigante verde que ha dejado a OpenCL prácticamente en la marginalidad, lo que ha obligado a AMD a tener que soportar CUDA para poder competir. Tras diversos intentos con HIP y ROCm que requerían de cierta mano por parte de los usuarios, ahora le llega el turno a ZLUDA, un desarrollo más veterano de lo que aparenta, pero cuyos resultados iniciales son prometedores tanto a nivel de rendimiento como por el hecho de no requerir la modificación de los programas al menos sobre el papel.
ZLUDA se dejó ver en el año 2020 como una tecnología que permitiría ejecutar CUDA sobre gráficas de Intel con la ayuda de oneAPI. ZLUDA acabó descontinuado sin que las razones trascendieran, pero al parecer lo que se estaba cocinando era un cambio de bando debido a que el desarrollador principal, Andrzej Janik, fue contratado por AMD como fichaje procedente de Intel, algo en lo que influyó el hecho de que esta última rechazara el proyecto y por lo tanto el financiarlo. A partir de ahí el enfoque pasó de Intel a AMD, por lo que el soporte de OneAPI fue sustituido por la Interfaz Heterogénea de Portabilidad (HIP) y ROCm.
Con la financiación encubierta de AMD, ZLUDA, que todavía se encuentra en fase alfa y oficialmente soporta Linux y Windows, ha encontrado aparentemente el camino para lograr sus objetivos, y frente a la solución con la que pretende competir es de código abierto al estar publicado bajo las licencias MIT y Apache 2. Sí, ambas licencias son permisivas, pero eso es mejor que la condición de privativa de CUDA.
Como consecuencia de su estado actual, ZLUDA tiene pinta de requerir cierta mano para ponerlo en funcionamiento y presenta ciertas limitaciones: no todos los programas hechos con CUDA son compatibles por ahora, solo ha sido dirigido a la versión 5 de ROCm y solo ha sido probado oficialmente sobre gráficas RDNA 2. Sin embargo, en Phoronix han probado también con gráficas RDNA 3, con la RX 7900 XTX mostrando unos resultados bastante prometedores.
Las pruebas de rendimiento de Phoronix han sido realizadas con Blender 4, la última versión mayor de la conocida solución de modelado y renderización de gráficos tridimensionales. Aquí y según el citado medio, en backend que forma la combinación de ZLUDA y CUDA “fue un poco más rápida que el backend nativo Radeon HIP”. En ocasiones anteriores se pudo ver que HIP era incapaz de competir con CUDA, pero también es cierto que RDNA 3 no estaba en la competición y ha pasado bastante tiempo desde entonces, por lo que HIP ha podido mejorar.
Otra prueba de rendimiento que se puede recoger es la realizada por el propio Andrzej Janik con Geekbench 5.5 y con la que comparó los desempeños de ZLUDA y OpenCL. Aquí los resultados han sido dispares, pero por lo general van de lo similar a una ventaja clara en favor de ZLUDA.
Sin embargo y pese a los prometedores resultados, hay cosas que huelen regular en torno a ZLUDA, ya que el proyecto ha recibido financiación de AMD, pero oficialmente no forma parte de la compañía. Esto deja en el aire la posibilidad de que ZLUDA acabe descontinuado una vez más debido a posibles presiones por parte de NVIDIA, que tiende a defender con bastante beligerancia su propiedad intelectual.
Otro punto que ZLUDA tiene en su contra es ROCm, que si bien es de código abierto, su implementación tiende a ser más complicada que la de CUDA y además soporta oficialmente un catálogo bastante limitado de sistemas operativos Linux.
Veremos qué futuro le depara a ZLUDA, pero sus prometedores resultados iniciales pueden terminar frustrados por ciertas nubes que se ven en el horizonte.
La entrada ZLUDA, una prometedora alternativa a CUDA con un futuro incierto es original de MuyLinux