开源 CUDA 学习笔记与代码合集,包含 200 多个内核,涵盖 HGEMM、FP8/FP4 GEMM 与 Flash-Attention。
NVIDIA/cutlass
面向 NVIDIA GPU 的 CUDA C++ 模板库与 Python DSL,用于编写高性能矩阵乘法等线性代数内核。
- Star
- 10,623
- Fork
- 2,133
- 未关闭 Issue
- 785
- 最近提交
- 3小时前
这是什么?
CUTLASS 是一组在 CUDA 中实现高性能矩阵乘法(GEMM)及相关计算的抽象。它将计算拆分为线程、warp、threadblock 等层级的可复用模块,并支持调整分块大小、数据类型和算法策略,便于作为自定义内核的构建块。
C++ 库覆盖 FP64、FP32、TF32、FP16、BF16、FP8、块缩放 FP4/FP6 以及低位整数等多种数据类型,支持从 Volta 到 Blackwell、Rubin 架构的 NVIDIA GPU。其核心布局与张量库 CuTe 贯穿整个 GEMM 层级结构。
CUTLASS 4 新增 CuTe DSL,这是一个基于 CUTLASS 和 CuTe 概念、以 Python 原生方式编写 CUDA 内核的接口,目前处于公开测试阶段。项目还包含示例、单元测试以及用于运行和对比 GEMM、卷积内核的命令行性能分析工具。
核心功能
- 01用于 GEMM 与卷积内核的分层、可复用 C++ 模板
- 02CuTe 布局与张量抽象,用于描述线程与数据
- 03支持 FP64 到 FP8、块缩放 FP4/FP6 及低位整数等数据类型
- 04CuTe DSL 可用 Python 编写 CUDA 内核
- 05命令行性能分析工具,可与 cuBLAS 对比 GEMM 和卷积内核性能
适用场景
- 在 NVIDIA GPU 上为深度学习负载构建自定义高性能 GEMM 或融合内核
- 学习 Tensor Core GEMM 内核的结构与调优方法
- 在 Python 中用 CuTe DSL 快速验证内核设计,再投入生产
- 针对特定问题规模分析并选择 GEMM 或卷积内核配置
快速上手
- 1
阅读 CUTLASS C++ 快速入门指南
- 2
阅读用于 Python 接口的 CuTe DSL 快速入门指南
使用前须知
- CuTe DSL 仍处于公开测试版,尚未正式发布。
- 部分打包指令在 Rubin(sm107)GPU 上存在已知的代码生成错误。
- 需要 NVIDIA GPU 和 CUDA 工具链。
- 元数据中未明确识别许可证,使用前请自行核实许可条款。
标签
常见问题
- cutlass 是什么?
- 面向 NVIDIA GPU 的 CUDA C++ 模板库与 Python DSL,用于编写高性能矩阵乘法等线性代数内核。 CUTLASS 是一组在 CUDA 中实现高性能矩阵乘法(GEMM)及相关计算的抽象。它将计算拆分为线程、warp、threadblock 等层级的可复用模块,并支持调整分块大小、数据类型和算法策略,便于作为自定义内核的构建块。
- cutlass 可以免费使用吗?用的什么许可证?
- cutlass 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- cutlass 还在维护吗?
- 活跃维护中。cutlass 最近一次提交是在 2026年10月20日。
- cutlass 适合用来做什么?
- 在 NVIDIA GPU 上为深度学习负载构建自定义高性能 GEMM 或融合内核 学习 Tensor Core GEMM 内核的结构与调优方法 在 Python 中用 CuTe DSL 快速验证内核设计,再投入生产 针对特定问题规模分析并选择 GEMM 或卷积内核配置
- cutlass 怎么安装和运行?
- 阅读 CUTLASS C++ 快速入门指南 阅读用于 Python 接口的 CuTe DSL 快速入门指南
- 在哪里获取 cutlass?
- 源代码和安装说明在 GitHub 上:https://github.com/NVIDIA/cutlass
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
端到端开源机器学习平台,提供 Python 和 C++ 接口,用于构建和部署 ML 模型。
FlashAttention 官方实现,一种节省显存的精确注意力计算内核,用于 GPU 上 Transformer 模型的训练与推理。
纯 C/C++ 实现的 LLM 推理引擎,可在本地或云端运行大语言模型与视觉语言模型,支持多种硬件后端。
面向大模型分布式训练与推理的深度学习优化库,提升效率并降低使用门槛。
一个极简的深度学习框架,提供类 PyTorch 的 Tensor API、自动求导、编译器,并支持多种加速器后端。