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.
NVIDIA/cutlass
Biblioteca de templates CUDA C++ e DSL em Python para criar kernels GEMM e de álgebra linear relacionados, de alto desempenho, em GPUs NVIDIA.
- Estrelas
- 10,623
- Forks
- 2,133
- Issues abertas
- 785
- Último commit
- há 5 horas
O que é?
CUTLASS é uma coleção de abstrações para implementar multiplicação de matrizes (GEMM) e computações relacionadas de alto desempenho em CUDA. Ela divide o trabalho em componentes hierárquicos e reutilizáveis, nos níveis de thread, warp e threadblock, com tamanhos de tiling, tipos de dados e políticas algorítmicas ajustáveis, que podem ser usados como blocos de construção para kernels personalizados.
A biblioteca C++ oferece suporte a uma ampla variedade de tipos numéricos, incluindo FP64, FP32, TF32, FP16, BF16, FP8, formatos FP4 e FP6 com escala por bloco e inteiros de baixa precisão, nas arquiteturas NVIDIA da Volta à Blackwell e Rubin. CuTe, sua biblioteca principal de layouts e tensores, é usada em toda a hierarquia GEMM.
O CUTLASS 4 adiciona a CuTe DSL, uma interface nativa em Python para escrever kernels CUDA com base nos conceitos de CUTLASS e CuTe, que atualmente está em beta público. O projeto também inclui exemplos, testes unitários e um profiler de linha de comando para executar e comparar kernels GEMM e de convolução.
Recursos principais
- 01Templates C++ hierárquicos e reutilizáveis para kernels GEMM e de convolução
- 02Abstrações de layout e tensor do CuTe para descrever threads e dados
- 03Suporte a tipos de FP64 a FP8, FP4/FP6 com escala por bloco e inteiros de baixa precisão
- 04CuTe DSL para escrever kernels CUDA em Python
- 05Profiler de linha de comando para comparar o desempenho de kernels GEMM e de convolução com o cuBLAS
Casos de uso
- Criar kernels GEMM personalizados de alto desempenho ou kernels fused para cargas de trabalho de deep learning em GPUs NVIDIA
- Aprender como kernels GEMM com tensor cores são estruturados e ajustados
- Prototipar designs de kernels em Python com a CuTe DSL antes da implantação em produção
- Analisar o desempenho e selecionar configurações de kernels GEMM ou de convolução para determinado tamanho de problema
Início rápido
- 1
Leia o guia de início rápido do CUTLASS C++
- 2
Leia o guia de início rápido do CuTe DSL para a interface Python
Antes de usar
- O CuTe DSL está em beta pública e ainda não chegou à versão estável.
- Há bugs conhecidos na geração de código que afetam algumas instruções compactadas em GPUs Rubin (sm107).
- É necessário ter GPUs NVIDIA e o toolchain CUDA.
- A licença não é identificada claramente nos metadados; por isso, confira os termos da licença antes de usar.
Tópicos
Perguntas frequentes
- O que é cutlass?
- Biblioteca de templates CUDA C++ e DSL em Python para criar kernels GEMM e de álgebra linear relacionados, de alto desempenho, em GPUs NVIDIA. CUTLASS é uma coleção de abstrações para implementar multiplicação de matrizes (GEMM) e computações relacionadas de alto desempenho em CUDA. Ela divide o trabalho em componentes hierárquicos e reutilizáveis, nos níveis de thread, warp e threadblock, com tamanhos de tiling, tipos de dados e políticas algorítmicas ajustáveis, que podem ser usados como blocos de construção para kernels personalizados.
- cutlass é gratuito? Qual é a licença?
- cutlass é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- cutlass ainda é mantido?
- Manutenção ativa. O último commit de cutlass foi em 20 de out. de 2026.
- Para que posso usar cutlass?
- Criar kernels GEMM personalizados de alto desempenho ou kernels fused para cargas de trabalho de deep learning em GPUs NVIDIA Aprender como kernels GEMM com tensor cores são estruturados e ajustados Prototipar designs de kernels em Python com a CuTe DSL antes da implantação em produção Analisar o desempenho e selecionar configurações de kernels GEMM ou de convolução para determinado tamanho de problema
- Como instalar cutlass?
- Leia o guia de início rápido do CUTLASS C++ Leia o guia de início rápido do CuTe DSL para a interface Python
- Onde consigo cutlass?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/NVIDIA/cutlass
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma plataforma open source completa para criar e implantar modelos de machine learning, com APIs para Python e C++.
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.
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.
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.