<<<CUDA C++ 学习路线grid · block · warp · lane
通用 GPU 编程的第一选择

把 CUDA C++ 从语法学到 硬件直觉

__global__threadIdx 半小时就能学完,真正的门槛是看到一段 kernel 就能判断它卡在哪。这份教程按「写对 → 写快 → 看懂编译产物 → 接入工程」的顺序展开,每一个优化都要说清楚它消除了哪个具体瓶颈。

没有显卡也能学完全部内容:四个实验室在浏览器里模拟 GPU 的执行模型。

vector_add.cu
__global__ void add(const float* a, const float* b, float* c, int n) {    int i = blockIdx.x * blockDim.x + threadIdx.x;    if (i < n) c[i] = a[i] + b[i];} add<<<(n + 255) / 256, 256>>>(d_a, d_b, d_c, n);
15
课时
五个阶段,循序渐进
6h
阅读时长
含代码与自测
4
交互实验室
浏览器里模拟 GPU
9
可编译源码
cuda/ 目录,nvcc 直接跑

学习路线

按顺序学,每一阶段都建立在上一阶段之上
1

起步

写出、编译并跑通第一个 kernel3 · 60 分钟
2

执行模型与内存

warp、内存层级、合并访问、共享内存:性能的全部来源4 · 92 分钟
3

优化实战

归约七步、occupancy 权衡、流水线重叠3 · 76 分钟
4

深入底层

warp 原语、PTX 与 SASS,看清编译器做了什么2 · 46 分钟
5

工程化与 AI

profiling 方法论、PyTorch 算子、Tensor Core 与 Triton3 · 66 分钟

交互实验室

把抽象概念变成能拖动的东西
仓库里还有一套可编译的源码

课程里出现的每个关键 kernel 都在 cuda/ 目录下有完整可运行的版本,带计时、结果校验和多版本性能对比。有 GPU 的机器上 make 即可全部构建;没有也不影响学习。

在有 GPU 的机器上
cd cudamake            # 用检测到的架构编译全部示例make run        # 依次跑一遍./bin/06_reduction   # 归约 7 个版本的性能对比