Repolode
RightNow-AI

RightNow-AI/autokernel

Pipeline de agentes autónomos que perfila modelos de PyTorch y optimiza sus kernels GPU más lentos con Triton o CUDA C++.

Estrellas
1,618
Forks
164
Issues abiertos
16
Último commit
hace 21 horas

¿Qué es?

AutoKernel recibe cualquier modelo de PyTorch, lo perfila con torch.profiler para ordenar los kernels según el tiempo de ejecución en GPU y extrae los principales cuellos de botella en kernels independientes de Triton o CUDA C++. Luego, un agente de programación modifica un archivo de kernel a la vez, ejecuta un benchmark fijo con cinco etapas de comprobaciones de corrección y análisis roofline, y conserva o revierte cada cambio. Un orquestador aplica la ley de Amdahl para decidir cuándo pasar al siguiente kernel.

El proyecto está dirigido a GPU NVIDIA e incluye kernels iniciales para matmul, softmax, layernorm, rmsnorm, flash attention, MLP fusionado, cross entropy, rotary embeddings y reduce. También incluye definiciones independientes de los modelos GPT-2, LLaMA y BERT, además de una integración con el benchmark KernelBench para optimizar sus problemas de forma iterativa. Los resultados se registran en un archivo TSV y los kernels optimizados se pueden exportar a HuggingFace Hub.

Funciones clave

  • 01Perfila cualquier modelo de PyTorch y ordena sus kernels según el tiempo de ejecución en GPU, clasificándolos como limitados por cómputo o por memoria.
  • 02Extrae los kernels que son cuellos de botella en archivos de Triton o CUDA C++ mediante la opción --backend.
  • 03Ejecuta un benchmark fijo con comprobaciones de corrección en varias etapas antes de medir el rendimiento.
  • 04Programa la optimización de kernels según su impacto estimado de extremo a extremo, aplicando la ley de Amdahl.
  • 05Verifica los kernels optimizados dentro del modelo completo e informa de la aceleración total.
  • 06Se integra con KernelBench y exporta kernels a HuggingFace Hub.

Casos de uso

  • Acelerar la inferencia o el entrenamiento de un modelo de PyTorch personalizado al optimizar durante la noche sus operaciones GPU más lentas.
  • Experimentar con agentes de programación autónomos en una tarea de rendimiento GPU bien definida.
  • Comparar kernels generados por IA con referencias de PyTorch mediante problemas de KernelBench.
  • Generar y compartir kernels de Triton o CUDA optimizados manualmente como paquetes de kernels de HuggingFace.

Inicio rápido

  1. 1

    Instala uv (o sigue las instrucciones oficiales de instalación de uv del README)

  2. 2

    Clona el repositorio

    git clone https://github.com/RightNow-AI/autokernel.git
  3. 3

    Instala las dependencias desde la carpeta clonada

    uv sync
  4. 4

    Configura una sola vez los datos de prueba y las referencias; después, verifica el benchmark

    uv run prepare.py

Antes de usarlo

  • Se requiere una GPU NVIDIA; el README indica que solo se ha probado en H100, A100 y RTX 4090.
  • Se necesitan Python 3.10 o posterior y uv.
  • Para ejecutar el agente de optimización se necesita otro agente de programación, como Claude o Codex.

En colecciones

Temas

Preguntas frecuentes

¿Qué es autokernel?
Pipeline de agentes autónomos que perfila modelos de PyTorch y optimiza sus kernels GPU más lentos con Triton o CUDA C++. AutoKernel recibe cualquier modelo de PyTorch, lo perfila con torch.profiler para ordenar los kernels según el tiempo de ejecución en GPU y extrae los principales cuellos de botella en kernels independientes de Triton o CUDA C++. Luego, un agente de programación modifica un archivo de kernel a la vez, ejecuta un benchmark fijo con cinco etapas de comprobaciones de corrección y análisis roofline, y conserva o revierte cada cambio. Un orquestador aplica la ley de Amdahl para decidir cuándo pasar al siguiente kernel.
¿autokernel es gratuito? ¿Qué licencia tiene?
autokernel es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿autokernel sigue mantenido?
Mantenimiento activo. El último commit de autokernel fue el 5 nov 2026.
¿Para qué puedo usar autokernel?
Acelerar la inferencia o el entrenamiento de un modelo de PyTorch personalizado al optimizar durante la noche sus operaciones GPU más lentas. Experimentar con agentes de programación autónomos en una tarea de rendimiento GPU bien definida. Comparar kernels generados por IA con referencias de PyTorch mediante problemas de KernelBench. Generar y compartir kernels de Triton o CUDA optimizados manualmente como paquetes de kernels de HuggingFace.
¿Cómo se instala autokernel?
Instala uv (o sigue las instrucciones oficiales de instalación de uv del README) Clona el repositorio: git clone https://github.com/RightNow-AI/autokernel.git Instala las dependencias desde la carpeta clonada: uv sync Configura una sola vez los datos de prueba y las referencias; después, verifica el benchmark: uv run prepare.py
¿Dónde consigo autokernel?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/RightNow-AI/autokernel

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados