Repolode
OpenBMB

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. 1

    Clone o repositório

  2. 2

    Crie um ambiente virtual e instale o ForgeKernel

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

    Instale o pacote CuTe DSL recomendado

    pip install nvidia-cutlass-dsl
  4. 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

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

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

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.

Recursos de aprendizado#cuda#gpu#tensor-cores
12,2 mil+17 esta semana1,3 milCudaGPL-3.0Atualizado há 19 horas

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.

Backend e APIs#collectives#hpc#mpi
322+1 esta semana132CBSD-3-ClauseBem mantidoAtualizado ontem