SGEMM 教程
从 naive、tiling、bank conflict 修正、double buffering、向量化到 Tensor Core,完整展示算子优化阶梯。
这不是一个“仓库简介页”,而是帮助你快速建立阅读顺序的入口页。
建议把仓库分成三个互相补充的视角:
推荐的第一遍阅读顺序
如果你是第一次接触这个仓库,建议先看 快速开始,再读 01-SGEMM 教程,之后回到更高层的 系统架构白皮书。
| 你的目标 | 建议先读 | 为什么从这里开始 | 下一步 |
|---|---|---|---|
| 理解 CUDA 性能优化基础 | 01-SGEMM 教程 | 它用最小但完整的教学面展示 kernel 优化阶梯。 | Benchmarks → SGEMM 白皮书 |
| 设计可复用 CUDA 算子库 | 02-TensorCraft Core | 它把“单个 kernel”提升为接口、资源管理和库边界设计。 | 系统架构 → TensorCraft 设计 |
| 学习更高级的 kernel 技术 | 03-HPC 进阶 | 这里才开始讨论 CUTLASS、FlashAttention、寄存器分块和新 CUDA 特性。 | 高级技术展示 → Benchmarks |
| 理解端到端推理系统形态 | 04-Inference Engine | 它说明优化后的 kernel 如何进入 stream、memory pool 和推理执行链路。 | 推理引擎设计 → 路线图 |
点击模块查看说明
这个仓库的层次是刻意设计的。
02-tensorcraft-core、03-hpc-advanced、04-inference-engine、common 和 examples。01-sgemm-tutorial 有意保持为独立 Makefile 教程模块。| 文档区域 | 最适合什么时候看 | 它回答的核心问题 |
|---|---|---|
| 模块文档 | 需要贴近代码阅读时 | “这个目录教什么?我应该先打开哪些代码?” |
| 白皮书 | 需要跨模块理解时 | “仓库为什么这样组织?模块之间如何互相供给?” |
| Benchmarks | 需要判断证据强弱时 | “这些性能结果到底说明了什么,又没说明什么?” |
| 路线图 | 需要安排学习顺序时 | “按我当前目标,下一步应该看哪里?” |