Logran que las GPU de AMD sean compatibles con CUDA gracias a ZLUDA en ROCm, ¿se acabó la ventaja de NVIDIA?
No se puede negar que AMD ha realizado importantes esfuerzos en materia de software. Desde drivers, hasta distintas herramientas para CPU y GPU, pero aun así, sigue por detrás de NVIDIA e incluso ya, de Intel. Donde más esfuerzo está poniendo últimamente la compañía es todo lo relacionado con ROCm, y no en vano, ahora sabemos algo realmente interesante. Y es que durante dos años AMD trabajó en el proyecto ZLUDA, fichando para ello a su creador desde Intel, y permitiendo que todo el software habilitado para CUDA trabaje en sus gráficas Radeon.
La historia es rocambolesca y tiene algunos puntos de nexo. Andrzej Janik, creador de ZLUDA, pasó varios años trabajando para Intel de manera que se consiguiese habilitar CUDA en gráficas Intel. El proyecto, de código abierto, pero secreto, se suspendió, Intel dejó de dar financiación y AMD vio la oportunidad de fichar a Andrzej Janik. Tras ello, dos años más de esfuerzos para llevar la compatibilidad al hardware de AMD y....
ZLUDA logra lo que AMD no pudo: habilitar la compatibilidad de cualquier software CUDA sin problemas
Pues sí, nadie lo consiguió y, sin embargo, la historia para Andrzej Janik se ha repetido. Lo consiguió casi en su totalidad con Intel, lo ha conseguido casi en su totalidad con AMD, pero en ambos casos la financiación se cortó y él terminó fuera de ambas compañías.
Finiquitados los contratos, Andrzej Janik se guardó una cláusula por si esto pasaba con AMD teniendo el precedente de Intel: podría abrir el código fuente cuando el contrato expirase, y aquí estamos hoy tras desvelarse todo.
Huelga decir que ZLUDA tiene todavía trabajo por delante, no está exento de algunos fallos y, por ejemplo, de una mayor compatibilidad como en RDNA 1, pero las pruebas que se han mostrado evidencian que es un salto de gigante para AMD en cuanto a compatibilidad, y como no, una gran satisfacción para Andrzej Janik al desarrollarla él solo sin más ayuda.
Sea como fuere, y sabiendo que ZLUDA funciona tanto en Linux como Windows, ¿qué rendimiento es capaz de conseguir frente a las opciones de NVIDIA?
Por fin AMD es una opción de uso real con CUDA
El rendimiento no es exactamente el que cabría esperar si exportamos el rendimiento del sector del gaming al de CUDA para las mismas GPU, pero ZLUDA logra equiparar bastante la lucha. Blender 4.0 con CUDA muestra como una RX 7900 XTX se queda cerca de una RTX 4080, aunque la RTX 4070 SUPER le aprieta por detrás.
Las GPU de AMD no llegan a rendir tanto como las opciones de NVIDIA, pero están cerca, y eso es un logro, sobre todo, cuando ni el desarrollador ni el usuario tienen que mover un solo dedo para poder trabajar con GPU AMD. Pero hay algo más a tratar que muestra el potencial de ZLUDA y que, con apoyo de la comunidad, puede ser la opción definitiva para ROCm y CUDA.
Andrzej Janik probó ZLUDA con Geekbench 5.5.1 y el resultado frente a OpenCL fue realmente sorprendente. El porcentaje más bajo fue de un 41,25% del rendimiento de la API, pero el porcentaje más alto subió hasta el 175,34%, siendo la media de los 11 test un 101%.
O lo que es igual, estuvo un 1% por encima, que dando ese margen como porcentaje de error, en términos prácticos la media es exactamente el mismo rendimiento.
¿Por qué cortar la financiación a Andrzej Janik después de lo visto?
Visto ya todo, ¿por qué Intel y AMD dejaron de colaborar con Andrzej Janik y cortaron la financiación a ZLUDA? Hay varias teorías. La primera es que NVIDIA habría hablado de temas comerciales con Intel y AMD diciéndoles lo obvio: es su plataforma y que ellos financien un software que hace compatibles sus GPU con CUDA no es legal.
En segundo lugar, porque AMD e Intel quieren desarrollar sus propias plataformas, dando así prioridad a su hardware y a la venta del mismo. Por último, se especula con ciertas razones técnicas. En cualquier caso, ahora es la comunidad la que tiene que mostrar su apoyo.
Si solamente Andrzej Janik trabajando en ZLUDA ha conseguido esto, con una comunidad medianamente grande podríamos estar hablando del fin de CUDA como plataforma de software cerrada, lo que no quiere decir que vaya a dejar de ser líder, porque en realidad, sería más líder todavía al ser usada con cualquier GPU. ¿Es este el verdadero motivo que llevó a ambos gigantes a cortar la financiación?