Implementação oficial do FlashAttention, um kernel de atenção exata e eficiente em memória para treinar e executar inferência de modelos Transformer em GPUs.
BBuf/how-to-optim-algorithm-in-cuda
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.
- Estrelas
- 3,324
- Forks
- 297
- Issues abertas
- 8
- Último commit
- há 10 dias
O que é?
Este repositório reúne implementações de kernels CUDA e notas sobre otimização de GPU. Ele aborda kernels escritos à mão para operações comuns, como reduce, softmax, operações elemento a elemento, GEMV, indexação, atomic add, upsampling e linear attention, organizados no diretório cuda-kernels.
Além dos kernels, o repositório reúne materiais sobre CUTLASS e CuTe (GEMM, TMA, WGMMA e swizzling), kernels Triton com interoperabilidade com PyTorch, notas de estudo sobre a PTX ISA e aspectos internos do PyTorch relacionados a CUDA. Também inclui notas da série de palestras CUDA-MODE, otimização de serving e treinamento de LLMs e resumos de artigos sobre arquitetura de GPU.
O repositório é mantido pelo autor como um caderno de estudos e engenharia. Parte do material mais antigo está em chinês e vem sendo gradualmente substituída por páginas de entrada em inglês.
Recursos principais
- 01Kernels CUDA escritos à mão para reduce, softmax, GEMV e outras operações comuns.
- 02Notas sobre CUTLASS e CuTe que abordam GEMM, TMA, WGMMA e swizzling.
- 03Exemplos de kernels Triton com interoperabilidade com PyTorch.
- 04Notas de estudo sobre a PTX ISA e aspectos internos do PyTorch relacionados a CUDA.
- 05Notas sobre otimização de inferência e treinamento de LLMs.
Casos de uso
- Estudar passo a passo como operações comuns de GPU são implementadas em CUDA.
- Aprender CUTLASS/CuTe e Triton para desenvolver GEMM de alto desempenho.
- Consultar detalhes no nível de PTX ao otimizar kernels de GPU.
- Consultar material de referência sobre otimização da inferência de LLMs.
Antes de usar
- Nenhuma licença foi especificada, portanto os direitos de reutilização não estão claros.
- A maioria das notas antigas está em chinês e está sendo consolidada, então parte do material pode estar incompleta ou inconsistente.
Tópicos
Perguntas frequentes
- O que é how-to-optim-algorithm-in-cuda?
- 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. Este repositório reúne implementações de kernels CUDA e notas sobre otimização de GPU. Ele aborda kernels escritos à mão para operações comuns, como reduce, softmax, operações elemento a elemento, GEMV, indexação, atomic add, upsampling e linear attention, organizados no diretório cuda-kernels.
- how-to-optim-algorithm-in-cuda é gratuito? Qual é a licença?
- how-to-optim-algorithm-in-cuda não declara licença. O código é público, mas sem licença você não tem permissão explícita para reutilizá-lo; fale com o autor antes de depender dele.
- how-to-optim-algorithm-in-cuda ainda é mantido?
- Manutenção ativa. O último commit de how-to-optim-algorithm-in-cuda foi em 11 de out. de 2026.
- Para que posso usar how-to-optim-algorithm-in-cuda?
- Estudar passo a passo como operações comuns de GPU são implementadas em CUDA. Aprender CUTLASS/CuTe e Triton para desenvolver GEMM de alto desempenho. Consultar detalhes no nível de PTX ao otimizar kernels de GPU. Consultar material de referência sobre otimização da inferência de LLMs.
- Onde consigo how-to-optim-algorithm-in-cuda?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/BBuf/how-to-optim-algorithm-in-cuda
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca e servidor rápidos e eficientes em memória para executar e servir modelos de linguagem grandes com uma API compatível com a OpenAI.
Biblioteca de otimização de deep learning que facilita e torna mais eficiente o treinamento distribuído e a inferência de modelos grandes.
Sistema baseado em PyTorch para treinamento e inferência distribuídos de grandes modelos de IA, com paralelismo, otimização de memória e treinamento heterogêneo.
Biblioteca Python que executa LLMs grandes camada por camada, permitindo inferência com modelos da classe 70B em uma única GPU de 4 GB, sem quantização.
SGLang é um framework open source de inferência para servir modelos de linguagem, visão-linguagem e difusão em diversas plataformas com GPU, TPU e CPU.