La generación automática de código para GPU avanza, aunque sus resultados dependen de las referencias, las pruebas de corrección y el método de evaluación.
Los agentes de inteligencia artificial ya participan en la creación y optimización de kernels, programas que ejecutan operaciones en una GPU. El desafío consiste en producir código correcto y demostrar que aporta ventajas bajo condiciones de uso bien definidas.
Generar, comprobar y optimizar
El proyecto CUDA Agent combina síntesis de datos, aprendizaje por refuerzo y un entorno de desarrollo con verificación y perfilado automáticos. El agente puede utilizar información de ejecución para revisar sus implementaciones.
Sus autores reportan kernels más rápidos que la referencia generada mediante torch.compile en el 100 %, 100 % y 92 % de los problemas de los niveles 1, 2 y 3 de KernelBench, respectivamente. Son porcentajes de tareas en las que obtiene ventaja, no porcentajes de aceleración.
El trabajo original de KernelBench, presentado en 2025, reunió 250 cargas de trabajo de aprendizaje automático. En aquella evaluación, los modelos de razonamiento más avanzados igualaban la referencia de PyTorch en menos del 20 % de los casos. Los autores también observaron mejoras al incorporar información de ejecución y perfilado durante la revisión iterativa.
Qué cambia cuando se endurecen las pruebas
KernelBench-Verified incorpora una referencia PyTorch con TF32, cuatro distribuciones de entradas ocultas y métricas de memoria. En su evaluación, el mejor modelo pasó de 1,43× a 0,88× de aceleración media geométrica. Este último valor queda por debajo de la referencia. Además, el 28 % de sus kernels correctos aumentó el consumo máximo de memoria.
El alcance importa: el estudio evaluó siete modelos en una NVIDIA H200, con generación de un solo turno y selección de la mejor de cinco muestras. No incorporó revisiones guiadas por errores de compilación o perfilado. Por ello, sus resultados no constituyen una refutación directa de CUDA Agent.
La advertencia metodológica es que una implementación puede parecer rápida por aprovechar entradas previsibles u omitir cálculos. La evaluación debe distinguir esas conductas de una optimización válida.
NVIDIA muestra un caso de migración a Rust
NVIDIA documentó la traducción mediante agentes de los 24 operadores públicos de TileGym a cuTile Rust. Reportó una media geométrica de rendimiento equivalente al 99,5 % de cuTile Python, medida en una DGX B200 sobre 347 configuraciones emparejadas.
El dato corresponde al tiempo de ejecución en el dispositivo. No equivale al rendimiento total de una aplicación, que también depende del lanzamiento y la planificación de las operaciones.
Una característica relevante es que ambos lenguajes comparten una representación intermedia y un compilador. El proceso compara esa representación para detectar diferencias estructurales, además de ejecutar pruebas funcionales. El objetivo es preservar el comportamiento y el rendimiento del código original durante la migración.
Cómo interpretar los avances
Estos trabajos abordan objetivos distintos: generar implementaciones competitivas, comprobar la solidez de las evaluaciones y trasladar código entre lenguajes. La lectura conjunta permite valorar avances concretos, sin convertir una cifra de laboratorio en una garantía general.
Como criterio editorial y práctico, cualquier afirmación de mejora debería identificar el hardware, la referencia, las entradas, la tolerancia numérica, el consumo de memoria y el tiempo medido. Esa información permite decidir si el resultado es relevante para el sistema donde se pretende utilizar.
Fuentes
- CUDA Agent: Large-Scale Agentic RL for High-Performance CUDA Kernel Generation.
- KernelBench: Can LLMs Write Efficient GPU Kernels?.
- KernelBench-Verified: Do LLM-Generated Kernels Actually Beat PyTorch?.
- NVIDIA: Translating CUDA Tile Operations from Python to Rust Using Agentic AI.
Ilustación generada por IA
📬 Newsletter gratuito