NVIDIA ha decidido mover ficha en el único terreno donde todavía tenía margen para distanciarse de sus competidores: el software. Con la llegada de CUDA 13.1 y la introducción de CUDA Tile, la compañía da el mayor giro conceptual en su modelo de programación GPU desde 2006, cuando lanzó la primera versión de CUDA.
El mensaje de fondo es claro: después de casi 20 años afinando kernels al nivel de hilo, bloque y memoria compartida, NVIDIA quiere que los desarrolladores dejen de pensar tanto en el hardware y se concentren en el algoritmo. El futuro cercano, si la apuesta cuaja, pasará por programar “tiles” en lugar de hilos individuales.
De hilos y warps a tiles: un cambio de modelo mental
Hasta ahora, programar en CUDA significaba controlar con bastante detalle:
- La distribución de hilos y bloques.
- La jerarquía de memorias (global, compartida, registros).
- Las sincronizaciones dentro de un bloque y, a menudo, intrinsics específicos de cada arquitectura.
Este enfoque permitía exprimir al máximo las GPU, pero tenía un coste: código muy ligado a la microarquitectura y una curva de aprendizaje pronunciada. Ajustar un kernel para una GPU Volta, Ampere o Hopper no era exactamente lo mismo, y los equipos con más experiencia en bajo nivel llevaban ventaja.
CUDA Tile pretende romper con ese patrón. En lugar de razonar sobre miles de hilos independientes, el desarrollador trabaja con tiles, es decir, fragmentos lógicos de datos sobre los que se definen operaciones de alto nivel. El compilador y el runtime se encargan después de traducir ese trabajo a instrucciones concretas y de decidir qué unidades del chip se utilizan en cada momento.
Qué es CUDA Tile y por qué importa
NVIDIA describe CUDA Tile como un modelo de programación basado en tiles orientado a los Tensor Cores y pensado para ser portátil entre generaciones de GPU. El corazón técnico del sistema es Tile IR, una representación intermedia (Intermediate Representation) que actúa como lenguaje virtual entre el código del desarrollador y el hardware real.
Sobre Tile IR se construye cuTile, la primera implementación accesible para el programador. Por ahora, cuTile está disponible en Python, con planes anunciados para llevar el mismo modelo a C++. La idea es que un ingeniero pueda escribir kernels de alto rendimiento usando sintaxis familiar de Python, definiendo operaciones sobre tiles en lugar de gestionar a mano hilos y bloques.
En la práctica, esto significa que:
- El programador define qué cálculos se hacen sobre qué fragmentos de datos.
- El compilador decide cómo se reparten esos tiles entre Tensor Cores, unidades de cálculo tradicionales o motores especializados como TMA.
- El mismo kernel debería funcionar sin cambios en distintas generaciones de GPU, con mejoras automáticas al migrar a hardware más moderno.
Es, en cierto modo, el equivalente para cómputo a lo que hicieron en su momento las APIs de alto nivel en gráficos: el desarrollador deja de hablar directamente con el “metal” y delega parte de la optimización en el compilador.
Blackwell como primer banco de pruebas
Aunque NVIDIA no limita CUDA Tile a una sola familia, la compañía ha diseñado Blackwell y Blackwell Ultra pensando desde el inicio en este modelo de programación. Las nuevas arquitecturas incluyen Tensor Cores y caminos de datos optimizados para trabajar con tiles, de manera que el runtime puede:
- Decidir qué tiles ejecutar en los aceleradores internos.
- Gestionar la jerarquía de memoria (L2, memoria HBM, registros) de forma más inteligente.
- Minimizar latencias y maximizar el uso de unidades especializadas sin que el desarrollador tenga que microoptimizar cada kernel.
Lo relevante es que, siguiendo la filosofía de CUDA Tile, la dependencia pasa del programador al compilador. Cada nueva generación de GPU puede añadir instrucciones o motores internos, y es el backend de Tile IR el que aprende a utilizarlos. El código fuente, en teoría, permanece estable.
Ventajas para los equipos de IA y computación científica
Para los equipos que desarrollan modelos de IA, simulaciones científicas o aplicaciones de high performance computing, el movimiento tiene varias consecuencias prácticas:
- Menos código específico de hardware
Muchas optimizaciones clásicas —como microgestionar bancos de memoria compartida o diseñar a mano patrones de acceso— pueden ser sustituidas por constructos de mayor nivel basados en tiles. - Mayor velocidad de desarrollo
Con cuTile en Python, los prototipos de kernels complejos pueden escribirse y ajustarse más rápido. El salto desde un cuaderno de Jupyter a un kernel optimizado se acorta. - Portabilidad entre generaciones
Migrar de una GPU a otra deja de implicar reescribir grandes partes del código. El énfasis se traslada a la calidad del algoritmo y a la afinación de tiles, no a la arquitectura interna de cada chip. - Rendimiento más uniforme
Al trabajar con bloques de datos coherentes, el compilador puede organizar mejor el flujo de datos, lo que tiende a reducir comportamientos erráticos y cuellos de botella inesperados.
Un golpe estratégico en la “guerra del ecosistema”
Más allá de lo puramente técnico, CUDA Tile refuerza el factor donde NVIDIA es prácticamente inalcanzable: su ecosistema de software. Mientras otros actores apuestan por alternativas como ROCm, SYCL, oneAPI u otros frameworks abiertos, NVIDIA consolida un entorno donde:
- El hardware, el compilador, las bibliotecas y las herramientas de desarrollo están íntimamente integrados.
- El código escrito hoy con CUDA tiene altas probabilidades de seguir funcionando —y rindiendo mejor— dentro de 5 o 10 años con nuevas GPU.
- La productividad de los equipos se apoya en herramientas maduras, documentación abundante y una comunidad masiva.
Para China y para Europa, que buscan construir ecosistemas propios por razones de soberanía tecnológica, este movimiento supone un desafío adicional. No basta con fabricar chips potentes: hay que igualar —o al menos aproximarse— a la ventaja compuesta de casi dos décadas de inversión en CUDA y ahora, además, a un cambio de paradigma que vuelve a elevar el listón.
Lo que aún está por resolver
Pese al entusiasmo, quedan preguntas abiertas:
- Curva de adopción: los equipos con grandes bases de código en CUDA “clásico” tendrán que decidir cuándo y cómo empezar a migrar partes a CUDA Tile.
- Grado de control: siempre habrá aplicaciones extremas donde se siga necesitando bajo nivel. NVIDIA tendrá que equilibrar bien qué expone y qué abstrae.
- Vendor lock-in: cuanto más potente y cómodo sea el modelo, más difícil será justificar una migración a otras plataformas que no sean NVIDIA, algo que preocupa especialmente en contextos de nube soberana.
Lo que sí parece claro es que la compañía ha marcado el rumbo de la próxima década de programación GPU, y lo ha hecho jugando en el terreno donde se siente más cómoda: la combinación de hardware agresivo con un software que explota cada transistor.
Preguntas frecuentes
¿Qué diferencia hay entre CUDA “clásico” y CUDA Tile?
CUDA clásico obliga a gestionar hilos, bloques y memoria compartida de forma explícita. CUDA Tile permite definir operaciones sobre tiles de datos de alto nivel; el compilador decide cómo se mapean esos tiles al hardware.
¿Necesitan los desarrolladores reescribir todo su código CUDA existente?
No. CUDA Tile se introduce como un modelo complementario. El código actual sigue funcionando, pero las nuevas aplicaciones —sobre todo de IA— podrán beneficiarse de escribir kernels directamente con tiles y cuTile.
¿Sólo funciona CUDA Tile en GPU Blackwell?
Blackwell y Blackwell Ultra son las primeras arquitecturas diseñadas desde el principio con este modelo en mente, pero la intención declarada de NVIDIA es extender la compatibilidad a futuras generaciones y, previsiblemente, a parte del parque existente cuando el hardware lo permita.
¿Qué implica esto para la competencia y para la soberanía tecnológica?
Cuanto más avanzado y productivo sea el ecosistema CUDA, mayor será la dependencia de quienes basen su infraestructura de IA en GPU de NVIDIA. Para regiones que buscan alternativas propias, el listón de lo que deben ofrecer en términos de herramientas, rendimiento y estabilidad vuelve a subir.
Fuente: Nvidia CUDA Tile