Caderno pessoal de estudos e engenharia com kernels CUDA escritos à mão, exemplos de CUTLASS/CuTe e Triton e notas sobre otimização de LLMs.
OpenBMB/ForgeKernel
Agente de kernels GPU com autoevolução que otimiza kernels CUDA e CuTe DSL, promovendo cada kernel aceito a nova referência.
- Estrelas
- 284
- Forks
- 39
- Issues abertas
- 1
- Último commit
- há 3 dias
O que é?
O ForgeKernel parte de um kernel GPU de referência existente, mede seu tempo de execução e coleta seu perfil no hardware de destino, e cria um plano de etapas priorizado pela arquitetura para ser implementado por um agente de programação. Cada kernel aceito se torna a referência da próxima geração, permitindo que a otimização avance além da melhor implementação conhecida. Mecanismos de hardware validados por uma GPU probe são armazenados em uma base de conhecimento organizada por arquitetura de GPU e reutilizados em diferentes operadores.
A ferramenta tem como alvo GPUs NVIDIA Hopper (sm90) e Blackwell (sm100) e oferece suporte a tarefas com CuTe DSL e CUDA C++. Uma tarefa é definida pela descrição do operador, um conjunto de shapes e um arquivo task.toml; a CLI forge executa o ciclo localmente ou via SSH. As execuções geram um relatório e o código-fonte do melhor kernel, e um script de autoevolução encadeia gerações até que os ganhos fiquem abaixo do piso de ruído da medição.
O repositório também disponibiliza kernels gerados pelo projeto para operadores de attention, sparse attention, linear attention, GEMM e convolução, além dos ganhos de velocidade e dos ambientes em que foram medidos.
Recursos principais
- 01Transforma um kernel de referência em um plano de etapas priorizado pela arquitetura para um agente de programação.
- 02Promove cada kernel aceito a nova referência, encadeando gerações automaticamente.
- 03Verifica a correção, mede o tempo dos candidatos em relação à referência e cria perfis com Nsight Compute.
- 04Armazena mecanismos de hardware validados por uma GPU probe em uma base de conhecimento organizada por arquitetura.
- 05Oferece suporte à execução de tarefas com CuTe DSL e CUDA C++ em GPUs locais ou via SSH.
Casos de uso
- Otimizar um operador do PyTorch ou um kernel personalizado em GPUs Hopper ou Blackwell.
- Executar longas campanhas autônomas de otimização de kernels e analisar o relatório gerado.
- Estudar os kernels de attention, GEMM ou convolução gerados e disponibilizados com o projeto.
Início rápido
- 1
Clone o repositório
- 2
Crie um ambiente virtual e instale o ForgeKernel
python3 -m venv .venv && source .venv/bin/activate && pip install -e . - 3
Instale o pacote CuTe DSL recomendado
pip install nvidia-cutlass-dsl - 4
Confira a versão instalada
forge --version
Antes de usar
- Requer uma GPU NVIDIA Hopper (sm90) ou Blackwell (sm100).
- Precisa da CLI do Claude Code com login ou de uma ANTHROPIC_API_KEY.
- Uma execução leva horas; o exemplo atingiu 5,2x após cerca de 1,5 hora em uma B200.
- É um projeto em estágio inicial, com apenas 8 estrelas e versão 0.1.0.
Em coleções
Tópicos
Perguntas frequentes
- O que é ForgeKernel?
- Agente de kernels GPU com autoevolução que otimiza kernels CUDA e CuTe DSL, promovendo cada kernel aceito a nova referência. O ForgeKernel parte de um kernel GPU de referência existente, mede seu tempo de execução e coleta seu perfil no hardware de destino, e cria um plano de etapas priorizado pela arquitetura para ser implementado por um agente de programação. Cada kernel aceito se torna a referência da próxima geração, permitindo que a otimização avance além da melhor implementação conhecida. Mecanismos de hardware validados por uma GPU probe são armazenados em uma base de conhecimento organizada por arquitetura de GPU e reutilizados em diferentes operadores.
- ForgeKernel é gratuito? Qual é a licença?
- ForgeKernel é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- ForgeKernel ainda é mantido?
- Manutenção ativa. O último commit de ForgeKernel foi em 4 de nov. de 2026.
- Para que posso usar ForgeKernel?
- Otimizar um operador do PyTorch ou um kernel personalizado em GPUs Hopper ou Blackwell. Executar longas campanhas autônomas de otimização de kernels e analisar o relatório gerado. Estudar os kernels de attention, GEMM ou convolução gerados e disponibilizados com o projeto.
- Como instalar ForgeKernel?
- Clone o repositório Crie um ambiente virtual e instale o ForgeKernel: python3 -m venv .venv && source .venv/bin/activate && pip install -e . Instale o pacote CuTe DSL recomendado: pip install nvidia-cutlass-dsl Confira a versão instalada: forge --version
- Onde consigo ForgeKernel?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/OpenBMB/ForgeKernel
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Pipeline de agentes autônomos que perfila modelos PyTorch e otimiza os kernels de GPU que são gargalos em Triton ou CUDA C++.
NCCL é a biblioteca da NVIDIA com primitivas otimizadas de comunicação entre GPUs, como all-reduce e all-gather, para treinamento em um ou vários nós.
Biblioteca header-only em C++20 para expressões de tensor no estilo NumPy, executadas em GPUs NVIDIA ou CPUs multithread, com fusão opcional de kernels.
Livro open source e coleção de código com anotações sobre CUDA moderno e mais de 200 kernels, cobrindo HGEMM, GEMM em FP8/FP4 e Flash-Attention.
Biblioteca e API unificadas de comunicação coletiva, com operações como allreduce e broadcast para CPUs, GPUs e aceleradores de hardware em cargas de trabalho de HPC e IA.