MekkCyber/CutlassAcademy

A curated collection of resources, tutorials, and best practices for learning and mastering NVIDIA CUTLASS

275

19 commits

updated May 6, 2025

See the code

README

CUTLASS Academy

What is CUTLASS?

CUTLASS (CUDA Templates for Linear Algebra Subroutines) is a collection of CUDA C++ templates and abstractions for implementing high-performance matrix-multiplication and related computations at all levels and scales within CUDA. CUTLASS provides:

  • Threadblock-level abstractions for matrix multiply-accumulate operations
  • Warp-level primitives for matrix multiply-accumulate operations
  • Epilogue components for various activation functions and tensor operations
  • Utilities for efficiently loading and storing tensors in memory

CUTLASS is designed to deliver high performance for deep learning and HPC applications, with a focus on matrix multiplication operations that are fundamental to neural networks.

What is CUTE?

CUTE (CUDA Template Library for Tensors) is a modern C++ library built on top of CUTLASS that provides a more flexible and composable approach to tensor operations. CUTE introduces:

  • A unified tensor abstraction that works across different hardware levels
  • Powerful layout mapping capabilities for tensors
  • Composable building blocks for tensor algorithms
  • A more intuitive programming model for complex tensor operations

CUTE was introduced in CUTLASS 3.0 and represents a significant evolution in NVIDIA's approach to tensor computing.

How do CUTLASS, CUTE, and CUDA relate?

  • CUDA is the base programming model and platform for NVIDIA GPUs. It provides the fundamental parallel computing architecture and programming interface.
  • CUTLASS is a library built on top of CUDA that provides optimized implementations of matrix operations.
  • CUTE is a higher-level abstraction built on top of CUTLASS that simplifies tensor programming.

Key Differences

FeatureCUDACUTLASSCUTE
Level of AbstractionLow-level GPU programmingMatrix operation templatesHigh-level tensor abstractions
FocusGeneral GPU computingMatrix multiplication primitivesFlexible tensor operations
Programming ModelExplicit thread/block managementThreadblock/warp abstractionsLayout-focused tensor abstractions
Optimization ControlManualTemplate-basedLayout-driven

Resources

Documentation

CUTLASS Docs

CUTE Docs

GTC

GTC 2025 Coming soon (Cutlass in python coming soon !)

Articles

PyTorch

Nvidia

Colfax

Miscellaneous

Videos

Repos using CUTLASS/CUTE

MekkCyber/CutlassAcademy

A curated collection of resources, tutorials, and best practices for learning and mastering NVIDIA CUTLASS

275

19 commits

updated May 6, 2025

See the code

README

CUTLASS Academy

What is CUTLASS?

CUTLASS (CUDA Templates for Linear Algebra Subroutines) is a collection of CUDA C++ templates and abstractions for implementing high-performance matrix-multiplication and related computations at all levels and scales within CUDA. CUTLASS provides:

  • Threadblock-level abstractions for matrix multiply-accumulate operations
  • Warp-level primitives for matrix multiply-accumulate operations
  • Epilogue components for various activation functions and tensor operations
  • Utilities for efficiently loading and storing tensors in memory

CUTLASS is designed to deliver high performance for deep learning and HPC applications, with a focus on matrix multiplication operations that are fundamental to neural networks.

What is CUTE?

CUTE (CUDA Template Library for Tensors) is a modern C++ library built on top of CUTLASS that provides a more flexible and composable approach to tensor operations. CUTE introduces:

  • A unified tensor abstraction that works across different hardware levels
  • Powerful layout mapping capabilities for tensors
  • Composable building blocks for tensor algorithms
  • A more intuitive programming model for complex tensor operations

CUTE was introduced in CUTLASS 3.0 and represents a significant evolution in NVIDIA's approach to tensor computing.

How do CUTLASS, CUTE, and CUDA relate?

  • CUDA is the base programming model and platform for NVIDIA GPUs. It provides the fundamental parallel computing architecture and programming interface.
  • CUTLASS is a library built on top of CUDA that provides optimized implementations of matrix operations.
  • CUTE is a higher-level abstraction built on top of CUTLASS that simplifies tensor programming.

Key Differences

FeatureCUDACUTLASSCUTE
Level of AbstractionLow-level GPU programmingMatrix operation templatesHigh-level tensor abstractions
FocusGeneral GPU computingMatrix multiplication primitivesFlexible tensor operations
Programming ModelExplicit thread/block managementThreadblock/warp abstractionsLayout-focused tensor abstractions
Optimization ControlManualTemplate-basedLayout-driven

Resources

Documentation

CUTLASS Docs

CUTE Docs

GTC

GTC 2025 Coming soon (Cutlass in python coming soon !)

Articles

PyTorch

Nvidia

Colfax

Miscellaneous

Videos

Repos using CUTLASS/CUTE

Significant stargazers

Yoach Lacombe

231 followers · starred Feb 2025

Stefan He

154 followers · starred Feb 2025

fxmarty-amd

13 followers · starred Feb 2025

Wissam Antoun

239 followers · starred Feb 2025