¿Por qué el driver Vulkan de Huawei es un problema para Mesa?
Un ingeniero de Huawei publicó hoy en la lista de correo de Mesa una consulta sobre la posible integración (upstreaming) de un driver Vulkan que han desarrollado para una GPU propia. No obstante, al menos en su forma actual, este nuevo driver es poco probable que logre ser aceptado en el repositorio principal de Mesa.
Aunque resulta interesante desde una perspectiva técnica que Huawei haya desarrollado un driver Vulkan utilizando el Mesa Vulkan Runtime para su hardware interno, se trata de un intento de código abierto incompleto. La empresa indica que su compilador de shaders no puede ser abierto. El ingeniero de Huawei reporta que su ISA (Instruction Set Architecture) de GPU no puede ser publicada y, por lo tanto, no pueden liberar su back-end de NIR-a-código-máquina, necesario para convertir la representación intermedia (IR) común de Mesa al código de máquina de las GPUs de Huawei.
La consulta realizada hoy en la lista de correo de Mesa buscaba determinar si podían integrar su driver manteniendo el compilador NIR-a-código-máquina como un binario cargable en tiempo de ejecución (binary blob) dentro de Mesa. Esta propuesta es difícil de aceptar para la comunidad, dado que el driver carece de funcionalidad sin este componente cerrado.
En respuesta al post en la lista de correo, David Airlie de Red Hat señaló que sería muy poco probable que el driver se integre y sugirió que Huawei debería considerar liberar su ISA de GPU. Especialmente en la era actual de la IA y los LLMs, dicho binario podría ser fácilmente objeto de ingeniería inversa por terceros.
Habrá que esperar para ver si Huawei decide producir un driver Vulkan completamente de código abierto para Mesa; de lo contrario, es probable que permanezca como un componente cerrado fuera del árbol principal. El ingeniero no ofreció detalles adicionales sobre el diseño de la GPU interna de Huawei. Actualmente, la compañía no fabrica tarjetas gráficas orientadas a gaming o uso general, pero posee la línea de aceleradores de IA Ascend y Atlas.
Vía Phoronix.
