CUDA系统拆解-00-导读:从编程模型到 AI 推理系统的学习路线

阅读这篇后应获得什么

  • 知道这套文章不是 CUDA API 手册,而是一条从编程模型、执行机制、访存、调优、面试表达一路连到 AI 推理系统的学习路径。
  • 能分清它和站内 GPU系统拆解CUDA实践TritonvLLM 这些系列的边界和连接关系。
  • 能按目标选阅读顺序:偏基础原理、偏调优、偏高性能实现、偏推理系统或偏面试表达都能找到入口。

这个系列解决什么问题

一句话概括:先把 CUDA 当作一套“让并行硬件可被工程化地利用起来”的系统抽象来理解,再把执行模型、memory hierarchy、同步、profiling、高性能实现和推理系统连接成一套稳定的工程判断。

它不重复解释所有 GPU 架构背景,也不直接进入一堆 kernel 练习题,而是解决这些更关键的问题:CUDA 为什么这样设计;代码是怎么被组织和执行的;为什么性能问题大多落在访存、资源占用和通信上;为什么真正高价值的 CUDA 能力最后会连接到 Triton、CUTLASS、vLLM、TensorRT-LLM 这类系统和框架上。

与站内其他文章的关系

文章 作用
GPU系统拆解-00-导读:从架构认知到推理系统的学习路线 先补 GPU 硬件认知、数据中心卡和推理系统背景,再回来看 CUDA 为什么这样抽象会更顺。
CUDA实践-00-系列导读与学习路线 这套更偏手写 kernel 与实战模式,适合读完本系列后把概念落到代码优化。
Triton-导读-从算子开发到模型服务 适合在读到 Tensor Core、CUTLASS、FlashAttention 和高性能实现思路后继续深入。
vLLM系统拆解-00-导读:从架构、调度到面试表达的学习路线 适合在读到 Continuous Batching、PagedAttention、多 GPU 扩展和面试表达后继续连接推理系统。
PyTorch推理工程-00-系列导读与学习路线 适合把 CUDA 视角继续接到框架执行、导出、服务化与推理工程。
CUDA C编程权威指南:导读 更偏官方编程模型和内存、并发等底层知识的系统性整理。

系列结构

  • 0104:先建编程模型。理解 CUDA 的设计动机、最小程序闭环、线程组织和真实执行机制。
  • 0510:进入性能主干。把 memory hierarchy、共享内存、同步、occupancy、stream overlap 和 profiling 串起来。
  • 1116:从模式到高性能实现。先看经典算子模式,再进入 PTX、Tensor Core、CUTLASS、Triton、cuBLAS 与 FlashAttention。
  • 12131718:把 CUDA 能力连接到面试表达、AI 推理系统和多 GPU 扩展能力。

路线图

1
2
3
4
5
6
7
8
9
00 导读
-> 01 设计动机 -> 02 最小闭环 -> 03 线程组织模型 -> 04 warp / SIMT / SM
-> 05 内存层级 -> 06 共享内存 / Coalescing -> 07 同步 / 原子操作
-> 08 Occupancy / Launch 参数 -> 09 Streams / Overlap -> 10 Profiling / 调试
-> 11 经典算子模式 -> 12 面试总复盘 -> 13 面试强化专题
-> 14 PTX / SASS / 编译链 -> 15 Tensor Core / WMMA / MMA
-> 16 CUTLASS / Triton / cuBLAS / FlashAttention
-> 17 vLLM / TensorRT-LLM / Continuous Batching
-> 18 NCCL / 多 GPU / 通信隐藏

篇目索引

编号 文章 关键词
01 CUDA系统拆解-01-CUDA为什么存在:从计算负载到编程模型 CUDA、GPU编程
02 CUDA系统拆解-02-第一个CUDA程序:最小闭环与代码执行路径 CUDA、CUDA入门
03 CUDA系统拆解-03-线程组织模型:grid、block、thread 到底在表达什么 CUDA、编程模型
04 CUDA系统拆解-04-warp、SIMT 与 SM:真实执行不是“线程各跑各的” CUDA、Warp
05 CUDA系统拆解-05-内存层级与访存本质:性能瓶颈为什么常卡在数据 CUDA、全局内存
06 CUDA系统拆解-06-共享内存与Coalescing:访存优化先抓哪几个抓手 CUDA、共享内存
07 CUDA系统拆解-07-同步、原子操作与内存一致性:并发正确性怎么保证 CUDA、原子操作
08 CUDA系统拆解-08-Occupancy、寄存器压力与Launch参数:调优不是把占用率拉满 CUDA、Occupancy
09 CUDA系统拆解-09-Streams、异步拷贝与Overlap:如何把拷贝和计算叠起来 CUDA、Multi-Stream
10 CUDA系统拆解-10-Profiling、调试与瓶颈定位:先找到根因再谈优化 CUDA、性能剖析
11 CUDA系统拆解-11-经典CUDA算子模式:elementwise、reduction、reorder 与 blocked compute CUDA、核函数
12 CUDA系统拆解-12-面试总复盘:怎么把 CUDA 能力连接到 AI 推理 CUDA、面试
13 CUDA系统拆解-13-面试强化专题:PTX、Tensor Core、CUTLASS 与 Triton 怎么讲 CUDA、PTX
14 CUDA系统拆解-14-PTX、SASS 与编译链:CUDA代码如何落到机器指令 CUDA、PTX
15 CUDA系统拆解-15-Tensor Core、WMMA 与 MMA:矩阵乘指令路径怎么打通 CUDA、Tensor Core
16 CUDA系统拆解-16-CUTLASS、Triton、cuBLAS 与 FlashAttention:高性能实现都在做什么 CUDA、CUTLASS
17 CUDA系统拆解-17-vLLM、TensorRT-LLM 与 Continuous Batching:CUDA 为什么最终连到推理系统 CUDA、vLLM
18 CUDA系统拆解-18-NCCL、多GPU与通信隐藏:规模扩展怎么不被通信拖垮 CUDA、NCCL

阅读顺序建议

  • 想先把 CUDA 原理讲明白:重点读 010203040507
  • 想尽快进入调优主线:重点读 050608091011
  • 想理解高性能实现与框架关系:重点读 13141516
  • 想把 CUDA 连接到 AI 推理系统与面试表达:重点读 12131718

起始篇

建议从 CUDA系统拆解-01-CUDA为什么存在:从计算负载到编程模型 开始。


系列导航