前置阅读
官方文档:CuTe — NVIDIA CUTLASS Documentation
reed博士:
(4 封私信 / 2 条消息) cute 之 GEMM流水线 - 知乎
(4 封私信 / 2 条消息) cute 之 高效GEMM实现 - 知乎
9 多阶段流水线 GEMM
对应代码:09_multistage_gemm.cu
需要 GPU。
核心概念...
前置阅读
官方文档:CuTe — NVIDIA CUTLASS Documentation
reed博士:(4 封私信 / 2 条消息) cute 之 Swizzle - 知乎
8 Shared Memory GEMM
对应代码:08_smem_gemm.cu
需要 GPU。
核心概念
在 07 的基础上加入 Shared Memory,实现两级数据搬运:
G2S:G...
前置阅读
官方文档:CuTe — NVIDIA CUTLASS Documentation
reed博士:(4 封私信) cute 之 简单GEMM实现 - 知乎
7 简单 GEMM(不用 Shared Memory)
对应代码:07_simple_gemm.cu
需要 GPU。
核心概念
用 TiledMMA 实现真正的矩阵乘法:
直接从 global memory 读到寄...
前置阅读
官方文档:CuTe — NVIDIA CUTLASS Documentation
reed博士:(4 封私信 / 16 条消息) cute 之 MMA抽象 - 知乎
竹佬:(4 封私信 / 16 条消息) 写给大家看的 CuTe 教程:tiled mma - 知乎
6 TiledMMA
对应代码:06_tiled_mma.cu
纯 host 代码,不需要 GP...
前置阅读
官方文档:CuTe — NVIDIA CUTLASS Documentation
reed博士:(4 封私信 / 14 条消息) cute 之 Copy抽象 - 知乎
竹佬:(4 封私信 / 16 条消息) 写给大家看的 CuTe 教程:tiled copy - 知乎
5 Tiled Copy
对应代码:05_tiled_copy.cu
需要 GPU。
核...
第 4 课:第一个 GPU Kernel
对应代码:04_first_kernel.cu
需要 GPU。
核心概念
在 GPU kernel 中使用 CuTe Tensor:
make_gmem_ptr 包装全局内存指针
local_tile 按 block 切分工作
每个线程用一维 index 访问 tile 中的元素
代码解析
Kernel 1:向量加法 C = A +...
Ref
官方文档:CuTe — NVIDIA CUTLASS Documentation
reed博士:(4 封私信 / 14 条消息) cute Layout 的代数和几何解释 - 知乎
竹佬:(4 封私信 / 14 条消息) 写给大家看的 CuTe 教程:Layout Compose & Inverse - 知乎
3 Layout 代数
对应代码:03_la...
Ref
官方文档:CuTe — NVIDIA CUTLASS Documentation
reed博士:(4 封私信 / 14 条消息) cute 之 Tensor - 知乎
2 Tensor 基础
对应代码:02_tensor_basics.cu
纯 host 代码,不需要 GPU。
reed博士:Layout描述了数据的排列和底层存储位置关系,但Layout并没有指定...
Ref
官方文档:CuTe — NVIDIA CUTLASS Documentation
reed博士:(4 封私信 / 12 条消息) cute 之 Layout - 知乎
1 Layout 基础
对应代码:01_layout_basics.cu
纯 host 代码,不需要 GPU。
核心概念
Layout = Shape + Stride,它是一个函数,把多维坐标映...
前置知识:KDA算法公式、triton、cuda、c++
仓库链接:MoonshotAI/FlashKDA: FlashKDA: high-performance Kimi Delta Attention kernels
公式回顾
kernel 2 代码
12345678910111213141516171819202122232425262728293031323334...