Repolode
NVIDIA

NVIDIA/cutlass

Biblioteca de plantillas de CUDA C++ y DSL de Python para escribir kernels GEMM y de álgebra lineal de alto rendimiento en GPU NVIDIA.

Estrellas
10,623
Forks
2,133
Issues abiertos
785
Último commit
hace 5 horas

¿Qué es?

CUTLASS es una colección de abstracciones para implementar multiplicación de matrices (GEMM) de alto rendimiento y cálculos relacionados en CUDA. Divide el trabajo en componentes jerárquicos y reutilizables que abarcan los niveles de hilo, warp y threadblock, con tamaños de tile, tipos de datos y políticas algorítmicas ajustables que pueden servir como bloques de construcción para kernels personalizados.

La biblioteca de C++ admite una amplia variedad de tipos numéricos, incluidos FP64, FP32, TF32, FP16, BF16, FP8, formatos FP4 y FP6 con escalado por bloques e enteros de pocos bits, en arquitecturas NVIDIA desde Volta hasta Blackwell y Rubin. CuTe, su biblioteca principal de layouts y tensores, se utiliza en toda la jerarquía de GEMM.

CUTLASS 4 incorpora CuTe DSL, una interfaz nativa de Python para escribir kernels CUDA basada en los conceptos de CUTLASS y CuTe, que actualmente está en beta pública. El proyecto también incluye ejemplos, pruebas unitarias y un profiler de línea de comandos para ejecutar y comparar kernels de GEMM y convolución.

Funciones clave

  • 01Plantillas jerárquicas y reutilizables de C++ para kernels de GEMM y convolución
  • 02Abstracciones de layouts y tensores de CuTe para describir hilos y datos
  • 03Compatibilidad con tipos desde FP64 hasta FP8, FP4/FP6 con escalado por bloques y tipos enteros de pocos bits
  • 04CuTe DSL para escribir kernels CUDA en Python
  • 05Profiler de línea de comandos para comparar el rendimiento de kernels de GEMM y convolución con cuBLAS

Casos de uso

  • Crear kernels personalizados de alto rendimiento para GEMM o kernels fusionados destinados a cargas de trabajo de deep learning en GPU NVIDIA
  • Aprender cómo se estructuran y ajustan los kernels GEMM que usan tensor cores
  • Prototipar diseños de kernels en Python con CuTe DSL antes de implementarlos en producción
  • Perfilar y elegir configuraciones de kernels de GEMM o convolución para un tamaño de problema determinado

Inicio rápido

  1. 1

    Leer la guía de inicio rápido de CUTLASS C++

  2. 2

    Leer la guía de inicio rápido de CuTe DSL para la interfaz de Python

Antes de usarlo

  • CuTe DSL está en beta pública y aún no ha alcanzado la versión estable.
  • Hay errores conocidos de generación de código que afectan a algunas instrucciones empaquetadas en las GPU Rubin (sm107).
  • Se necesitan GPU NVIDIA y el conjunto de herramientas CUDA.
  • La licencia no se detecta claramente en los metadatos, así que consulta sus términos antes de usarlo.

Temas

Preguntas frecuentes

¿Qué es cutlass?
Biblioteca de plantillas de CUDA C++ y DSL de Python para escribir kernels GEMM y de álgebra lineal de alto rendimiento en GPU NVIDIA. CUTLASS es una colección de abstracciones para implementar multiplicación de matrices (GEMM) de alto rendimiento y cálculos relacionados en CUDA. Divide el trabajo en componentes jerárquicos y reutilizables que abarcan los niveles de hilo, warp y threadblock, con tamaños de tile, tipos de datos y políticas algorítmicas ajustables que pueden servir como bloques de construcción para kernels personalizados.
¿cutlass es gratuito? ¿Qué licencia tiene?
cutlass es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿cutlass sigue mantenido?
Mantenimiento activo. El último commit de cutlass fue el 20 oct 2026.
¿Para qué puedo usar cutlass?
Crear kernels personalizados de alto rendimiento para GEMM o kernels fusionados destinados a cargas de trabajo de deep learning en GPU NVIDIA Aprender cómo se estructuran y ajustan los kernels GEMM que usan tensor cores Prototipar diseños de kernels en Python con CuTe DSL antes de implementarlos en producción Perfilar y elegir configuraciones de kernels de GEMM o convolución para un tamaño de problema determinado
¿Cómo se instala cutlass?
Leer la guía de inicio rápido de CUTLASS C++ Leer la guía de inicio rápido de CuTe DSL para la interfaz de Python
¿Dónde consigo cutlass?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/NVIDIA/cutlass

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados