La desarrolladora Carol Herbst (Red Hat) ha propuesto integrar Cluda en Mesa, marcando un paso crucial en la evolución del cómputo abierto en Linux.
Este nuevo driver Gallium implementa el API OpenCL sobre el API CUDA del controlador propietario de NVIDIA, permitiendo usar las GPUs de la marca con un soporte de extensiones modernas que hasta ahora sólo estaba disponible en hardware abierto como AMD o Intel.
Por qué Cluda es una innovación clave
Hasta ahora, los usuarios de Linux con tarjetas NVIDIA estaban limitados al stack propietario, con un soporte restringido de OpenCL.
Cluda cambia radicalmente ese escenario:
- Ejecuta OpenCL moderno sobre los controladores oficiales de NVIDIA usando únicamente la biblioteca libcuda.so, incluida en los propios drivers.
- No requiere instalar el runtime CUDA completo, lo que simplifica la integración en entornos de desarrollo y despliegue.
- Funciona como una capa de compatibilidad que traduce las llamadas OpenCL al lenguaje intermedio PTX (Parallel Thread Execution) de CUDA, facilitando la interoperabilidad con el ecosistema existente.
Compatibilidad y soporte de extensiones
Uno de los grandes logros de Cluda es su amplio soporte de extensiones OpenCL gracias a su integración con rusticl, el backend de OpenCL moderno dentro de Mesa.
Entre las extensiones destacadas se incluyen:
cl_khr_extended_bit_opscl_khr_spirv_supportcl_khr_fp16- Múltiples extensiones de subgrupos
- Soporte para SPIR-V mediante
cl_khr_il_program
Esto sitúa a Cluda como la implementación más completa de OpenCL para GPUs NVIDIA disponible fuera del ecosistema cerrado de la compañía.
Rendimiento comparativo
En pruebas realizadas con LuxMark 3.1, los resultados son altamente competitivos:
- OpenCL con Mesa/Cluda/Rusticl: 57 702 puntos
- OpenCL con stack propietario de NVIDIA: 64 009 puntos
La ligera diferencia de rendimiento (aproximadamente un 10%) proviene del proceso de conversión de NIR (el IR de Mesa) a PTX. Aunque esta brecha se espera reducir con mejoras futuras en vectorización y optimización JIT.
Ventajas para la comunidad Linux
Cluda representa un avance decisivo hacia un ecosistema de cómputo abierto y universal:
- Acceso a extensiones OpenCL modernas en hardware NVIDIA.
- Compatibilidad con kernels SPIR-V, el estándar más extendido en cómputo heterogéneo y multiplataforma.
- Integración directa con el stack de Mesa, facilitando su mantenimiento, empaquetado y evolución futura junto a otros proyectos libres.
Este proyecto permite, por primera vez, que las GPU de NVIDIA participen plenamente en la visión de cómputo abierto impulsada por Mesa, sin depender de software propietario adicional.
Conclusión
Cluda redefine el soporte de OpenCL en Linux para tarjetas NVIDIA, combinando apertura, compatibilidad y rendimiento competitivo.
Aunque el overhead inicial por traducción es pequeño, la posibilidad de usar extensiones avanzadas y kernels SPIR-V convierte a Cluda en una herramienta estratégica para desarrolladores, investigadores y equipos DevOps que apuestan por entornos abiertos y portables.
Si trabajas con computación GPGPU, IA o simulación científica, este nuevo driver marca el comienzo de una etapa en la que el cómputo acelerado en NVIDIA será tan abierto y flexible como en cualquier otra plataforma.