Repolode
NVIDIA

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

    Leia o guia de início rápido do CUTLASS C++

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