Cuaderno personal de estudio e ingeniería con kernels CUDA escritos a mano, ejemplos de CUTLASS/CuTe y Triton, y notas sobre optimización de LLM.
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
Clona el repositorio
- 2
Crea un entorno virtual e instala ForgeKernel
python3 -m venv .venv && source .venv/bin/activate && pip install -e . - 3
Instala el paquete CuTe DSL recomendado
pip install nvidia-cutlass-dsl - 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
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
Pipeline de agentes autónomos que perfila modelos de PyTorch y optimiza sus kernels GPU más lentos con Triton o CUDA C++.
NCCL es la biblioteca de NVIDIA con primitivas optimizadas de comunicación entre GPUs, como all-reduce y all-gather, para entrenamiento en uno o varios nodos.
Una biblioteca header-only de C++20 para expresiones de tensores al estilo NumPy que se ejecutan en GPU NVIDIA o en CPU multinúcleo, con fusión de kernels opcional.
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.
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.