CUDA
CUDA (Arquitectura de Dispositivo Unificado de Computación) es la plataforma de computación paralela y modelo de programación propietario de NVIDIA que permite a los desarrolladores escribir código C/C++ ejecutado directamente en GPU de NVIDIA, convirtiéndolas en procesadores paralelos de propósito general para cargas de trabajo de IA y científicas.
CUDA (Arquitectura de Dispositivo Unificado de Computación) es una plataforma de computación paralela e interfaz de programación de aplicaciones introducida por NVIDIA en 2006. Extiende C/C++ estándar con anotaciones y bibliotecas de tiempo de ejecución que permiten a los desarrolladores escribir kernels—funciones que se ejecutan en paralelo a través de miles de núcleos de GPU simultáneamente—sin conocimiento de programación gráfica. CUDA transformó las GPU de NVIDIA de aceleradores gráficos de función fija a procesadores paralelos programables utilizables para simulación científica, procesamiento de imágenes, criptografía, y eventualmente aprendizaje automático a escala.
En el modelo de programación CUDA, la CPU (anfitrión) orquesta la ejecución mientras lanza funciones kernel que se ejecutan en la GPU (dispositivo). Los kernels se organizan en una cuadrícula de bloques de hilos; cada bloque se ejecuta en un multiprocesador de transmisión (SM) y comparte memoria compartida rápida en el chip entre sus hilos. El tiempo de ejecución de CUDA gestiona las transferencias de memoria entre la DRAM del anfitrión y la HBM de la GPU, la programación de hilos y la sincronización. Las bibliotecas de nivel superior construidas en CUDA—cuBLAS para álgebra lineal densa, cuDNN para primitivos de redes neuronales, cuSPARSE para operaciones dispersas, NCCL para comunicación colectiva multi-GPU—permiten que marcos como PyTorch, TensorFlow y JAX llamen a rutinas GPU optimizadas sin que los desarrolladores escriban kernels CUDA sin procesar.
CUDA es importante porque es la interfaz de programación estándar de facto para IA acelerada por GPU. PyTorch, TensorFlow, JAX y prácticamente todos los marcos principales de IA envían backends CUDA como su ruta de ejecución GPU principal. La inversión de una década que la comunidad de investigación ha realizado en código optimizado para CUDA—incluyendo los kernels de atención compatibles con FlashAttention de NVIDIA, Triton (un lenguaje kernel basado en Python que se compila a CUDA PTX) y cuDNN—crea costos de cambio sustanciales para pasar a plataformas de hardware alternativas. Las herramientas de evaluación comparativa, depuración y perfilado (NVIDIA Nsight, Compute Sanitizer) son todas CUDA-nativas.
A partir de 2026, el dominio de CUDA en el entrenamiento de IA sigue siendo en gran medida intacto, aunque enfrenta presión de la plataforma ROCm de AMD, que soporta PyTorch con cambios de código mínimos, y de API de cálculo neutras para proveedores como OpenCL, Vulkan Compute y SYCL. NVIDIA introdujo CUDA 12.x con soporte para las arquitecturas Hopper (H100) y Blackwell (B200), añadiendo soporte de núcleo tensor FP8 y primitivos de memoria distribuida mejorados. La brecha de madurez entre el ecosistema de CUDA y sus competidores sigue siendo amplia para el entrenamiento de modelos de frontera, aunque los despliegues de inferencia utilizan cada vez más tiempos de ejecución de nivel superior—TensorRT, vLLM, ONNX Runtime—que abstraen la programación CUDA directa.