NVIDIA ha lanzado CUDA 13.3, una versión que introduce la programación de GPU basada en mosaicos directamente en C++. La actualización tiene como objetivo aprovechar mejor los Tensor Cores al tiempo que reduce la complejidad de escribir kernels.
Cómo funciona la programación basada en mosaicos
La programación basada en mosaicos divide un cálculo en pequeños bloques de tamaño fijo llamados mosaicos. Estos mosaicos se ajustan a los patrones internos de flujo de datos de la GPU, lo que facilita mantener el hardware ocupado. En versiones anteriores de CUDA, los desarrolladores tenían que gestionar ese mapeo por sí mismos. Ahora el compilador se encarga de ello, al menos para muchos patrones comunes.
Los Tensor Cores son hardware especializado dentro de las GPU de NVIDIA que aceleran las operaciones de multiplicación y acumulación de matrices. Son fundamentales para el entrenamiento y la inferencia de IA. Pero obtener el máximo rendimiento de ellos a menudo requería un ajuste manual intrincado. La abstracción de mosaicos de CUDA 13.3 divide automáticamente las operaciones de matrices para que lleguen más a menudo a los Tensor Cores. Los desarrolladores escriben código más simple y aún así obtienen un buen rendimiento.
El desarrollo de kernels se simplifica
Uno de los mayores puntos débiles en la programación de GPU es la gestión de hilos, memoria compartida y sincronización. El nuevo modelo basado en mosaicos abstrae esos detalles. En lugar de escribir un kernel que genere miles de hilos y coordine su acceso a la memoria compartida, un programador puede expresar el cálculo como operaciones en mosaicos. El compilador de CUDA luego mapea esos mosaicos al hardware subyacente. Esto debería reducir errores y acelerar el desarrollo, especialmente para equipos nuevos en la computación con GPU.
Disponibilidad
CUDA 13.3 ya está disponible para su descarga desde el sitio de desarrolladores de NVIDIA. Es compatible con todas las arquitecturas actuales de GPU de NVIDIA, incluidas las líneas Hopper y Blackwell. Los desarrolladores pueden comenzar a experimentar con la API basada en mosaicos de inmediato.
La actualización no desaprueba los enfoques anteriores, pero establece un nuevo camino predeterminado para escribir código eficiente en GPU. La rapidez con la que la comunidad en general lo adopte dependerá de qué tan bien el compilador mapee las operaciones de mosaicos al hardware real — y si el rendimiento iguala a los kernels ajustados manualmente en cargas de trabajo críticas.


