Repolode
RightNow-AI

RightNow-AI/autokernel

Pipeline de agentes autônomos que perfila modelos PyTorch e otimiza os kernels de GPU que são gargalos em Triton ou CUDA C++.

Estrelas
1,620
Forks
164
Issues abertas
16
Último commit
anteontem

O que é?

O AutoKernel recebe qualquer modelo PyTorch, usa torch.profiler para criar um perfil e classificar os kernels pelo tempo de GPU, e extrai os principais gargalos para kernels independentes em Triton ou CUDA C++. Em seguida, um agente de programação edita um arquivo de kernel por vez, executa um benchmark fixo com cinco etapas de verificações de correção e análise roofline, e mantém ou reverte cada alteração. Um orquestrador usa a lei de Amdahl para decidir quando passar ao próximo kernel.

O projeto tem como alvo GPUs NVIDIA e inclui kernels iniciais para matmul, softmax, layernorm, rmsnorm, flash attention, MLP fundida, cross entropy, embeddings rotativos e reduce. Também inclui definições autossuficientes dos modelos GPT-2, LLaMA e BERT, além de integração com o benchmark KernelBench para otimizar seus problemas de forma iterativa. Os resultados são registrados em um arquivo TSV, e os kernels otimizados podem ser exportados para o HuggingFace Hub.

Recursos principais

  • 01Cria um perfil de qualquer modelo PyTorch e classifica os kernels pelo tempo de GPU, identificando se são limitados por computação ou memória.
  • 02Extrai os kernels gargalo para arquivos Triton ou CUDA C++ usando a flag --backend.
  • 03Executa um benchmark fixo com verificações de correção em várias etapas antes de medir o desempenho.
  • 04Define a ordem de otimização dos kernels com base no impacto estimado de ponta a ponta, usando a lei de Amdahl.
  • 05Verifica os kernels otimizados no modelo completo e informa o speedup total.
  • 06Integra-se ao KernelBench e exporta kernels para o HuggingFace Hub.

Casos de uso

  • Acelerar a inferência ou o treinamento de um modelo PyTorch personalizado, otimizando durante a noite suas operações de GPU mais lentas.
  • Experimentar agentes autônomos de programação em uma tarefa de desempenho de GPU bem definida.
  • Comparar kernels gerados por IA com referências do PyTorch usando problemas do KernelBench.
  • Gerar e compartilhar kernels Triton ou CUDA ajustados manualmente como pacotes de kernels do HuggingFace.

Início rápido

  1. 1

    Instale o uv (ou siga as instruções oficiais de instalação do uv no README)

  2. 2

    Clone o repositório

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

    Instale as dependências dentro da pasta clonada

    uv sync
  4. 4

    Configure os dados de teste e as linhas de base uma única vez e, em seguida, verifique o benchmark

    uv run prepare.py

Antes de usar

  • É necessária uma GPU NVIDIA; o README informa que os testes foram feitos apenas nas GPUs H100, A100 e RTX 4090.
  • São necessários Python 3.10 ou superior e uv.
  • Para executar o agente de otimização, é necessário um agente de programação separado, como Claude ou Codex.

Em coleções

Tópicos

Perguntas frequentes

O que é autokernel?
Pipeline de agentes autônomos que perfila modelos PyTorch e otimiza os kernels de GPU que são gargalos em Triton ou CUDA C++. O AutoKernel recebe qualquer modelo PyTorch, usa torch.profiler para criar um perfil e classificar os kernels pelo tempo de GPU, e extrai os principais gargalos para kernels independentes em Triton ou CUDA C++. Em seguida, um agente de programação edita um arquivo de kernel por vez, executa um benchmark fixo com cinco etapas de verificações de correção e análise roofline, e mantém ou reverte cada alteração. Um orquestrador usa a lei de Amdahl para decidir quando passar ao próximo kernel.
autokernel é gratuito? Qual é a licença?
autokernel é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
autokernel ainda é mantido?
Manutenção ativa. O último commit de autokernel foi em 5 de nov. de 2026.
Para que posso usar autokernel?
Acelerar a inferência ou o treinamento de um modelo PyTorch personalizado, otimizando durante a noite suas operações de GPU mais lentas. Experimentar agentes autônomos de programação em uma tarefa de desempenho de GPU bem definida. Comparar kernels gerados por IA com referências do PyTorch usando problemas do KernelBench. Gerar e compartilhar kernels Triton ou CUDA ajustados manualmente como pacotes de kernels do HuggingFace.
Como instalar autokernel?
Instale o uv (ou siga as instruções oficiais de instalação do uv no README) Clone o repositório: git clone https://github.com/RightNow-AI/autokernel.git Instale as dependências dentro da pasta clonada: uv sync Configure os dados de teste e as linhas de base uma única vez e, em seguida, verifique o benchmark: uv run prepare.py
Onde consigo autokernel?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/RightNow-AI/autokernel

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados