ACO, la posible revolución a nivel de rendimiento para AMD Radeon
Mesa 20.2 ha llegado con algunas novedades de interés, como el progreso de Zink, el driver basado en Gallium3D destinado a renderizar OpenGL sobre Vulkan; el soporte preliminar para la serie Navi 2 de AMD Radeon; el soporte para la generación Rocket Lake de Intel; y las mejoras para la arquitectura de gráficos Gen12 (la usada por las primeras gráficas dedicadas) de Intel.
Sin embargo, el verdadero protagonista en Mesa 20.2 es ACO, el compilador de shaders impulsado por Valve y desarrollado junto a Google que ahora viene habilitado por defecto frente a LLVM. La intención de la compañía tras Steam es darle un impulso al rendimiento de las gráficas Radeon con RADV, el driver de Vulkan incluido por defecto en Mesa para la mencionada marca de gráficas.
En un principio Valve dijo que la mejora en el rendimiento no sería espectacular frente a LLVM, pero igual esas expectativas pueden verse superadas según pruebas de rendimiento realizadas por Phoronix. El incansable Michael Larabel apuntó que ACO podría ser no solo una mejora para el gaming, sino que posiblemente también sea una contribución importante en áreas como las redes neuronales. Ejecutando el benchmark de NCNN, “un framework de computación de inferencia de redes neuronales de alto rendimiento optimizado para plataformas móviles” desarrollado por Tencent, se puede apreciar la gran mejora que aporta Mesa 20.2 frente a la versión 20.8 incluida por defecto en Ubuntu 20.04.
Larabel también ha usado NCNN para comparar el rendimiento de ACO, aunque usando Mesa 20.3-devel, con el driver 450 de NVIDIA. Aquí los resultados no son muy favorables para AMD, que si bien consigue defenderse en algunos escenarios, la realidad es que el gigante verde gana con claridad. Eso sí, es importante tener en cuenta que la Inteligencia Artificial es un campo en el que NVIDIA domina de forma clara con CUDA, el competidor privativo de OpenCL.
Como vemos, ACO puede ser algo más que un pequeño empuje para el rendimiento de RADV, sino un punto de inflexión en la evolución del rendimiento de las gráficas Radeon en GNU/Linux más allá de los videojuegos. Por otro lado, se conocen las intenciones de Valve de llevar ACO a RadeonSI, el driver de OpenGL para AMD Radeon incluido en Mesa, por lo que en un futuro no muy lejano incluso ports de juegos antiguos como Tomb Raider 2013, Alien Isolation y Shadow of Mordor podrían ver su rendimiento mejorado.
De cara a los usuarios comunes y Linux gamers, la reciente inclusión de ACO debería de mejorar al menos ligeramente el rendimiento de los videojuegos que usan Vulkan y aquellos de Windows que se apoyan en traductores como DXVK y VKD3D. Aparte de las distribuciones rolling release, a las que tendría que llegar a modo de actualización, Mesa 20.2 será utilizado por defecto en Fedora 33 y los usuarios de Ubuntu 20.04 LTS pueden recurrir a la PPA kisak-mesa, la recomendada en estos momentos por Valve para poner al día el stack encargado de las API gráficas.