CUDA Kernel Engineering 学习地图:90 篇不用硬啃,6 级定位你的最短路径
工程深度导航篇不同岗位从不同层进入。不需要从第 1 篇读到第 90 篇。读完这篇你会拿到一张 6 级成长阶梯5 秒看懂专栏全景结构一份能力自测表5 分钟定位自己当前水平一份 39 篇最短路径清单附录按 Level 编排收藏即用按身份对号入座的入口表⚠️先记住一句话不要从第 1 篇硬看到第 90 篇。90 篇是一张能力地图新人走 39 篇 ⭐工程师补性能短板做 AI Infra 的再冲最后约 20 篇 。先找到自己的路径再出发。为什么 90 篇会让人想放弃打开目录90 篇铺面而来大多数人的第一反应是这得学到什么时候然后关掉页面。这不是懒而是人的大脑一次只能处理有限的新信息——90 个陌生标题砸过来认知负载瞬间爆表逃避就成了本能反应。市面上不少CUDA 入门 10 篇读完仍然不会写 kernel问题就出在这里把 90 篇硬压成 10 篇砍掉的恰恰是层级之间的过渡——你以为跳过的是没用的概念篇实际抽掉的是后面所有文章赖以成立的支撑。一个反直觉的观察读者弃读的真实原因很少是某一篇看不懂而是不知道该看到哪、为什么要看这篇。导航缺失比内容缺失更致命——这也是为什么这份地图要单独成篇而不是塞进第 1 篇的开头三行。把 90 篇拆成一张能力图而不是 90 个任务处理规模化学习最有效的方法是把一条线性长链重构成一张有层次的能力依赖图节点之间有前置关系但你可以从任意一个已具备前置条件的节点进入不必从 0 走到 90。Phase 0 是所有人共用的地基往上分叉成编程和内存两条腿汇合到性能工程再分叉进 AI 算子和工程化最后收敛到工业级 Infra。这张图的关键是有分叉、有汇合——你可以从 Kernel Basics 切入也可以从 Memory Model 切入路径不止一条。Level 1–6六级成长路径每一级跨过什么坎六个 Level 不是随意切分而是能力图上六个质变的台阶。每一级跨越的都是之前做不到、之后能做的一道硬坎。Level阶段跨越的坎学完你能做到L1Phase 0 GPU World看懂众核 高吞吐为何快讲清 GPU 与 CPU 的本质差异L2Phase 1 CUDA Programming写出第一个并行 kernel向量加法、线程索引、内存管理L3Phase 2 Performance Eng.让 kernel 真正快合并访存、消除 bank conflict、看懂 RooflineL4Phase 3 CUDA Engineering交付可维护代码CMake / PyTorch Extension / Nsight / BenchmarkL5Phase 4 AI Kernel手写 AI 算子Norm / Softmax / Attention / GEMM / MoEL6Phase 5 Kernel System Eng.落地工业级算子栈见下表四类系统能力为什么是 6 级不是 5 或 7如果把 L3性能工程和 L4CUDA 工程合并不行。前者是算法与访存思维——算得快不快后者是工程化能力——编译、测试、profile、交付。一个人完全可能写出很快的 kernel却不会用 Nsight 定位瓶颈这种偏科在真实团队里很常见必须拆开对待。如果在 L5 之后再加一级分布式训练冗余。L6 的 Kernel System Engineering 已经把 CUTLASS、Triton、TensorRT、PTX 这些工业级算子栈整合在一起再往下细分地图本身就会变成新的长链反而重新制造认知过载。L6 不是单一能力而是四类系统能力的合集彼此不在同一条能力轴上L6 子方向性质代表技术Kernel DSL用 DSL 写 kernel兼顾效率与开发速度TritonKernel Library高性能 GEMM / 算子模板库CUTLASSCompiler Optimization推理编译与图优化TensorRT / TVMHardware ControlISA 与微架构级控制PTX / SASSL6 的意思是能在这四类里按需选型、组合落地而不是要求全都精通。你在哪一层六维能力自测别急着从第 1 篇顺序啃。先自测——下面 6 个维度勾出你当前能独立做出来不是看懂过的最高等级。能力维度L1 不懂L2 看懂L3 能解释L4 能分析L5 能写L6 能优化GPU Architecture□□□□□□CUDA Programming□□□□□□Memory Optimization□□□□□□Profiling□□□□□□AI Operator□□□□□□Production Engineering□□□□□□维度之间是非线性的。真实工程师的能力雷达往往是不规则多边形——有人 AI Operator 到 L5但 GPU Architecture 只有 L3也有人 Profiling 到 L4CUDA Programming 却还停在 L2。这不是先满 L1 再升 L2的线性爬升而是按岗位需求各自生长。这里的 Level 是能力深度标签不是重要程度排名。GPU Architecture 是所有阶段都在持续加深的基础能力不存在到了 L6 就不需要它。自测最容易踩的坑“我看懂了 L5 的文章所以我到 L5 了”——看懂不等于学会。稳定产出的阈值通常比看懂低一到两级按能独立写出来来打勾才不会被自己的错觉带偏方向。三级标签与最短路径39 篇 ⭐ 如何闭包每篇文章带一个标签决定你要不要读标签篇数跳过代价优先级⭐ Kernel Engineer 必修39后续出现未定义概念被迫回看反而更慢P0 AI Infra 必读约 20面试题、算子实现篇看不懂求职弹药不足P1 Bonus纹理内存、趣味专题等6只损失视野宽度不影响主线P2为什么 39 篇能闭包把 90 篇文章按知识前置关系整理成依赖图后删除所有可选节点非必修内容、专题扩展、趣味篇章最终剩下 39 篇不可再压缩的核心节点——任意一篇的前置条件都已在前 39 篇中覆盖跳读不会断链。再少会在某篇出现前置未讲的断点再多则是边际收益骤降的冗余。按身份进你的起点在哪标签决定读哪些身份决定从哪进。同一张地图不同背景的人入口不同我是起点与路径原因CUDA 新人L1 起按顺序读完 39 篇 ⭐无地基按顺序补最稳Python 工程师L1 起依次到 L2先建立 GPU 心智再写第一个 kernelAI 应用工程师L2 起跳过 L3–L4 直接到 L5框架已经熟略过底层直冲算子实现深度学习研究生L3 起向上补足数学 / 框架底子够补性能工程即可推理优化工程师L5 起缺口向下回补直冲 AI Kernel 量化再向下补缺科研人员 / 算法工程师L3 起依次到 L5数学 / PyTorch 强但 CUDA 弱先补性能工程再冲算子没有人必须从第 1 篇开始。找到自己的身份行就能跳过已经具备的地基。学完能去哪岗位能力模型岗位方向所需 Level关键 Phase代表技术栈Kernel Library / 算子工程L5–L6Phase 4–5CUTLASS / FlashAttention推理优化vLLM / TensorRT-LLML5–L6Phase 4–5TensorRT / 量化 / 算子融合DL CompilerL6Phase 5TVM / TensorRT / MLIRGPU InfraL6Phase 5PTX / SASS / Nsight看清目标岗位所需的 Level回扣前面的能力自测表就知道该补哪几维、走哪条标签路径。三个常见误区从第 1 篇死磕到第 90 篇。90 篇按知识依赖排序不是按阅读顺序排序——回到开头的判断框架用 39 篇 ⭐ 最短路径或按身份表进入即可。只挑看着有意思的篇目跳读。⭐ 之外的很多篇章是 ⭐ 篇目的前置依赖随意跳读会直接断链。跳读只在 ⭐ 内部或 Bonus 里安全。看完等于学会。每篇配套v0 / v1 / v2三层代码与test.cu不动手跑通不算学完。至少把 ⭐ 篇的v0_naive.cu在真实显卡上跑一遍。延伸地图之外值得放进书签的几个资源资源适合阶段一句话说明GPU Mode 讲座系列L3 以后社区公开讲座从 profiling 到 SASS 逐层展开视频版补充《Making Deep Learning Go Brrrr》Horace HeL3 以后GPU 性能优化入门经典AI Kernel 方向必读awesome-cuda-and-hpcGitHubL5–L6CUDA/CUTLASS/TensorRT/Triton/PTX 方向开源项目汇总Triton 官方教程与社区清单L5 起如目标以 Triton 为主非纯 CUDA C可在 L5 阶段并行参考这些资源不替代 90 篇的系统性但可以在你卡在某个 Level 时提供另一种讲法。附录39 篇 ⭐ 必修清单逐篇列全下面每一行都是冻结大纲中的⭐ Kernel Engineer 必修共3 8 10 6 9 3 39篇。表示该篇同时属于 AI Infra 必读不会额外增加阅读数量。表中的编号是完整体系的原始序号不是 39 篇内部的连续编号跳号对应非必修的扩展或选修内容。Phase 0 · GPU World3 篇#⭐ 必修文章1⭐ CUDA 是什么为什么 GPU 适合并行计算2⭐ GPU 架构速览SM/SP/Tensor Core 与 AI3⭐ GPU Memory Hierarchy从 Register 到 HBMPhase 1 · CUDA Programming8 篇#⭐ 必修文章6⭐ 第一个 CUDA 程序Hello CUDA7⭐ 核函数与线程层次8⭐ CUDA Kernel 生命周期执行模型9⭐ 向量加法第一个并行 Kernel10⭐ 内存管理cudaMalloc/cudaMemcpy 与错误宏15⭐ 共享内存入门16⭐ 共享内存 Bank 冲突与 Padding17⭐ 同步与原子操作Phase 2 · Performance Engineering10 篇#⭐ 必修文章22⭐ 全局内存合并访问25⭐ SoA vs AoS26⭐ Warp 与 SIMT 执行模型27⭐ Warp 分支发散与优化28⭐ Register Pressure 与 Kernel Resource Usage29⭐ Occupancy 权衡三角31⭐ Roofline 模型Memory-bound vs Compute-bound32⭐ 矩阵转置全局→共享内存36⭐ 规约 Reduction 全流程39⭐ 矩阵乘法朴素实现与带宽瓶颈Phase 3 · CUDA Engineering6 篇#⭐ 必修文章43⭐ CMake 组织 CUDA 工程44⭐ PyTorch CUDA Extension 入门职业转折点45⭐ 用 cpp_extension 编译部署 Extension46⭐ Nsight Systems 时间线分析47⭐ Nsight Compute 内核指标49⭐ Benchmark 方法论与指标体系贯穿全专栏Phase 4 · AI Kernel Engineering9 篇#⭐ 必修文章58⭐ AI Kernel 全景从 LayerNorm 到 FlashAttn60⭐ reduce 与 Warp 级归约63⭐ LayerNorm 实现与在线算法65⭐ Softmax 数值稳定与在线 softmax68⭐ Attention 为什么慢标准注意力瓶颈70⭐ KV Cache CUDA 优化flat → paged → PagedAttention kernel72⭐ FlashAttention Kernel 实现73⭐ 算子融合多 Kernel → 单 Kernel74⭐ SGEMMtile 双缓冲 向量化Phase 5 · Industrial AI Infra3 篇#⭐ 必修文章82⭐ TensorRT 部署与 Kernel 融合部署闭环86⭐ PTX 与 SASS 阅读入门90⭐ 收官知识地图与 AI Infra 工程师的下一步共 39 篇。按你的能力自测结果从对应 Phase 进入每学完一个阶段再回来勾一次能力表。下一步收藏本篇把它当专栏的导航页随时回看下一篇《CUDA 是什么为什么 GPU 适合并行计算》——正式进入 L1 GPU 世界观留言区问一句你现在的 CUDA 能力大概在 Level 几最想补的是哪一维贴出自测结果评论区帮你定最短路径。