← Últimos artículos
🤖 machine learning

Optimizing CUDA like a Human: Micro-Profiling Tools as Expert Surrogates for LLM-Based GPU Kernel Optimization

KernelPro es un sistema multiagente de bucle cerrado que integra LLMs con herramientas de microperfilado inspiradas en expertos y una búsqueda MCTS adaptada al dominio para generar y optimizar iterativamente, de forma automática, kernels de CUDA de alto rendimiento y eficiencia energética, logrando aceleraciones de vanguardia en diversos benchmarks.

Autores originales: Jiading Gai, Shuai Zhang, Kaj Bostrom, Jin Huang, Vihang Patil, Haoyang Fang, Bernie Wang, Huzefa Rangwala, George Karypis

Publicado 2026-06-26
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Jiading Gai, Shuai Zhang, Kaj Bostrom, Jin Huang, Vihang Patil, Haoyang Fang, Bernie Wang, Huzefa Rangwala, George Karypis

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que tienes a un aprendiz de chef muy talentoso pero sin experiencia (la IA) que quiere cocinar la comida más rápida y eficiente del mundo (un programa de computadora para una tarjeta gráfica). El problema es que el chef no habla el lenguaje de los equipos de cocina. Si le entregas una lista de números en bruto de los sensores de la estufa —como "temperatura: 400, presión: 20, llama: parpadeante"—, el chef se confunde y podría arruinar el plato.

KernelPro es un nuevo sistema que actúa como un sous-chef maestro parado justo al lado del aprendiz. En lugar de entregarle al aprendiz datos brutos de los sensores, el sous-chef traduce esos números en consejos en lenguaje sencillo: "Oye, la estufa está demasiado caliente porque estás usando demasiado aceite; cambia a una sartén más pequeña y remueve más rápido".

Así es como funciona KernelPro, desglosado en conceptos simples:

1. El "Sustituto Experto" (El Traductor)

En el pasado, los sistemas de IA intentaban adivinar qué significaban los números. KernelPro introduce Herramientas de Micro-Perfilado. Piensa en esto como un conjunto de sensores especializados, cada uno dirigido por un experto diferente.

  • Un experto verifica si el chef está usando la sartén del tamaño adecuado (Memoria).
  • Otro verifica si el chef está picando las verduras demasiado lento (Cómputo).
  • Un tercero verifica si el chef está dejando caer ingredientes al suelo (Derrame de Registros).

En lugar de darle a la IA una hoja de cálculo de números, estas herramientas actúan como sustitutos de expertos humanos. Miran los datos, identifican el problema y escriben una nota clara: "Tu uso de memoria es crítico; cambia a un método de almacenamiento más rápido". El artículo encontró que darle a la IA estas notas claras funciona 125% mejor que simplemente volcar números brutos sobre ella. De hecho, los números brutos eran tan confusos que incluso hicieron que la IA funcionara peor que si no hubiera recibido ningún tipo de retroalimentación.

2. El "Detective Inteligente" (La Estrategia de Búsqueda)

Optimizar código es como resolver un laberinto. Un enfoque simple (llamado "búsqueda codiciosa" o greedy search) es simplemente caminar hacia adelante y girar a la izquierda cada vez que chocas con una pared. Podrías quedarte atrapado en un callejón sin salida.

KernelPro utiliza una Búsqueda de Árbol Monte Carlo (MCTS). Imagina a un detective que no solo recorre un camino. En su lugar, ellos:

  • Dibujan un mapa de cada giro posible que podrían tomar.
  • Envían "exploradores" para probar diferentes rutas simultáneamente.
  • Si un camino parece prometedor, envían más exploradores allí.
  • Si un camino conduce a un callejón sin salida, lo marcan en el mapa y dejan de perder el tiempo ahí.

Esto permite al sistema explorar muchas formas de arreglar el código sin quedarse estancado en una solución que sea solo "suficientemente buena". El artículo muestra que este método encuentra soluciones significativamente más rápidas que simplemente caminar hacia adelante a ciegas.

3. El "Banco de Memoria" (Aprendiendo de los Errores)

Normalmente, cuando una IA intenta arreglar código, olvida lo que sucedió en el intento anterior. Es como un chef que quema una olla, la limpia y luego intenta quemarla de nuevo inmediatamente porque no recuerda la lección.

KernelPro tiene una Memoria de Búsqueda. Mantiene un registro continuo de cada error, cada éxito y cada momento de revelación ("¡ajá!").

  • "La última vez, intentamos usar una sartén grande, pero era demasiado pesada".
  • "Encontramos un atajo en la librería que funciona bien para este tipo de plato".

Este registro se devuelve a la IA en cada paso, de modo que aprende de su propia historia y no repite los mismos errores.

4. El "Cazador de Código Fuente" (Escribiendo desde Cero)

La mayoría de los sistemas de IA intentan ensamblar partes prefabricadas (como usar una librería de ingredientes precocinados). KernelPro es diferente; puede escribir la receta desde cero.
Tiene una herramienta que le permite buscar a través de la enorme librería de código de alto rendimiento existente (CUTLASS/CuTe) para encontrar los bloques de construcción específicos que necesita. Luego, los ensambla en un plato nuevo y personalizado que está perfectamente ajustado para el hardware específico, tal como lo haría un maestro chef.

5. El "Ahorrador de Energía" (Función Adicional)

Normalmente, la gente solo se preocupa por qué tan rápido se cocina la comida. KernelPro es el primer sistema que también se preocupa por cuánta electricidad utiliza.
En una prueba, el sistema encontró una manera de cocinar el mismo plato exactamente a la misma velocidad, pero al elegir diferentes "ingredientes" (instrucciones), utilizó un 11.6% menos de energía. Es como encontrar la manera de hervir agua más rápido sin subir el fuego, simplemente usando una mejor olla.

Los Resultados

Cuando fue probado en un conjunto estándar de desafíos de codificación difíciles (KernelBench):

  • Nivel 1 (Fácil): Fue 2.4 veces más rápido que el sistema anterior más avanzado.
  • Nivel 2 (Medio): Fue 4.7 veces más rápido.
  • Nivel 3 (Difícil): Fue 5.3 veces más rápido.

En una prueba del mundo real con una tarea compleja de entrenamiento de IA (MoE), superó al código ajustado a mano por un experto humano por 1.23 veces, creando un programa nuevo y de alta velocidad desde cero que ningún humano había escrito antes.

En resumen: KernelPro no solo le pide a una IA que "adivine" cómo arreglar el código. Le da a la IA un equipo de traductores expertos para explicar los problemas, un detective inteligente para explorar soluciones, una memoria para aprender de los errores y la capacidad de escribir código personalizado desde cero. Esto convierte a un aprendiz confundido en un maestro chef.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →