Repolode
OpenBMB

OpenBMB/ForgeKernel

Un agente de kernels de GPU que evoluciona por sí mismo y optimiza kernels de CUDA y CuTe DSL al convertir cada kernel aceptado en la siguiente referencia.

Estrellas
276
Forks
37
Issues abiertos
1
Último commit
anteayer

¿Qué es?

ForgeKernel parte de un kernel de GPU de referencia existente, mide su tiempo de ejecución y su perfil en el hardware de destino, y elabora un plan de hitos basado primero en la arquitectura para que lo implemente un agente de programación. Cada kernel aceptado se convierte en la referencia de la siguiente generación, por lo que la optimización continúa más allá de la mejor implementación conocida. Los mecanismos de hardware certificados mediante una sonda de GPU se almacenan en una base de conocimiento organizada por arquitectura de GPU y se reutilizan en distintos operadores.

La herramienta está dirigida a GPU NVIDIA Hopper (sm90) y Blackwell (sm100), y admite tareas en CuTe DSL y CUDA C++. Una tarea se define mediante una descripción del operador, un conjunto de formas y un archivo task.toml; el CLI forge ejecuta el ciclo localmente o por SSH. Las ejecuciones generan un informe y el código fuente del mejor kernel, y un script de autoevolución encadena generaciones hasta que las mejoras caen por debajo del nivel de ruido de las mediciones.

El repositorio también publica kernels generados por el proyecto para operadores de atención, atención dispersa, atención lineal, GEMM y convolución, junto con las mejoras de rendimiento y los entornos en los que se midieron.

Funciones clave

  • 01Convierte un kernel de referencia en un plan de hitos basado primero en la arquitectura para un agente de programación.
  • 02Promueve cada kernel aceptado a la siguiente referencia y encadena generaciones automáticamente.
  • 03Comprueba la corrección, mide el tiempo de los candidatos frente a la referencia y los perfila con Nsight Compute.
  • 04Almacena mecanismos de hardware certificados mediante una sonda de GPU en una base de conocimiento organizada por arquitectura.
  • 05Admite la ejecución de tareas en GPU, tanto localmente como por SSH, para CuTe DSL y CUDA C++.

Casos de uso

  • Optimizar un operador de PyTorch o un kernel personalizado en GPU Hopper o Blackwell.
  • Ejecutar campañas de optimización de kernels largas y sin supervisión, y revisar el informe generado.
  • Estudiar los kernels de atención, GEMM o convolución generados y publicados con el proyecto.

Inicio rápido

  1. 1

    Clona el repositorio

  2. 2

    Crea un entorno virtual e instala ForgeKernel

    python3 -m venv .venv && source .venv/bin/activate && pip install -e .
  3. 3

    Instala el paquete CuTe DSL recomendado

    pip install nvidia-cutlass-dsl
  4. 4

    Comprueba la versión instalada

    forge --version

Antes de usarlo

  • Requiere una GPU NVIDIA Hopper (sm90) o Blackwell (sm100).
  • Necesita la CLI de Claude Code con una sesión iniciada o una ANTHROPIC_API_KEY.
  • Cada ejecución tarda horas; el ejemplo alcanzó 5,2x tras aproximadamente 1,5 horas en una B200.
  • Es un proyecto en fase inicial, con solo 8 estrellas y la versión 0.1.0.

En colecciones

Temas

#gpu#cuda#cute-dsl#kernel-optimization#ai-agent#llm#hpc

Preguntas frecuentes

¿Qué es ForgeKernel?
Un agente de kernels de GPU que evoluciona por sí mismo y optimiza kernels de CUDA y CuTe DSL al convertir cada kernel aceptado en la siguiente referencia. ForgeKernel parte de un kernel de GPU de referencia existente, mide su tiempo de ejecución y su perfil en el hardware de destino, y elabora un plan de hitos basado primero en la arquitectura para que lo implemente un agente de programación. Cada kernel aceptado se convierte en la referencia de la siguiente generación, por lo que la optimización continúa más allá de la mejor implementación conocida. Los mecanismos de hardware certificados mediante una sonda de GPU se almacenan en una base de conocimiento organizada por arquitectura de GPU y se reutilizan en distintos operadores.
¿ForgeKernel es gratuito? ¿Qué licencia tiene?
ForgeKernel es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿ForgeKernel sigue mantenido?
Mantenimiento activo. El último commit de ForgeKernel fue el 4 nov 2026.
¿Para qué puedo usar ForgeKernel?
Optimizar un operador de PyTorch o un kernel personalizado en GPU Hopper o Blackwell. Ejecutar campañas de optimización de kernels largas y sin supervisión, y revisar el informe generado. Estudiar los kernels de atención, GEMM o convolución generados y publicados con el proyecto.
¿Cómo se instala ForgeKernel?
Clona el repositorio Crea un entorno virtual e instala ForgeKernel: python3 -m venv .venv && source .venv/bin/activate && pip install -e . Instala el paquete CuTe DSL recomendado: pip install nvidia-cutlass-dsl Comprueba la versión instalada: forge --version
¿Dónde consigo ForgeKernel?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/OpenBMB/ForgeKernel

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

Proyectos relacionados

Libro y colección de código de código abierto con apuntes actuales para aprender CUDA y más de 200 kernels de HGEMM, GEMM con FP8/FP4 y Flash-Attention.

Recursos de aprendizaje#cuda#gpu#tensor-cores
12,2 mil+16 esta semana1,3 milCudaGPL-3.0Actualizado hace 23 horas

Una biblioteca y API unificada de comunicación colectiva que implementa operaciones como allreduce y broadcast en CPU, GPU y aceleradores de hardware para cargas de trabajo de HPC e IA.

Backend y APIs#collectives#hpc#mpi
321132CBSD-3-ClauseBien mantenidoActualizado hace 17 horas