01
CUDA编程模型概述
GPU架构演进 · 编程模型 · 主机与设备 · 核函数概念
基础概念
02
CUDA开发环境搭建
NVIDIA驱动 · CUDA Toolkit · cuDNN · VS/CMake配置
环境工具
03
第一个CUDA程序
Hello World核函数 · nvcc编译 · 运行时API · 错误检查
入门实战
04
线程层次结构
Grid/Block/Thread · 索引计算 · 一/二/三维网格
核心并行
05
内存层次结构
全局/共享/寄存器/本地/常量/纹理内存
存储体系
06
全局内存访问优化
合并访问 · 对齐 · 内存事务 · 银行冲突避免
优化带宽
07
共享内存优化
共享内存声明 · 动态共享 · bank冲突 · padding
优化tiling
08
寄存器优化
寄存器溢出 · 占用率 · launch bounds · __launch_bounds__
寄存器占用率
09
常量内存与纹理内存
__constant__ · 纹理对象 · 纹理参考 · 性能对比
只读缓存
10
流与并发执行
CUDA流 · 流同步 · 异步操作 · 多流并发 · 默认流
并发异步
11
事件与计时
事件创建/销毁 · 事件同步 · GPU计时 · 性能分析
计时profiling
12
原子操作
原子函数 · 全局/共享原子 · 锁实现
同步原子
13
归约优化
树形归约 · warp shuffle · 共享内存 · 多block归约
归约warp
14
扫描算法
Hillis-Steele · Blelloch · 高效实现 · 应用场景
前缀和并行
15
矩阵乘法优化
朴素实现 · 共享内存分块 · 寄存器分块 · 向量化加载
GEMMtiling
16
卷积优化
im2col · Winograd · FFT卷积 · 共享内存tiling
卷积im2col
17
排序算法
Bitonic · Radix · Merge · GPU排序库
排序并行
18
稀疏矩阵运算
CSR格式 · SpMV · SpMM · 稀疏性优化
稀疏SpMV
19
图算法
BFS · SSSP · PageRank · 图遍历优化
图BFS
20
深度学习算子
卷积 · 池化 · 归一化 · 激活函数 · Dropout
DL算子
21
Transformer算子优化
Attention · Softmax · LayerNorm · FFN
TransformerLLM
22
NCCL与多GPU通信
NCCL初始化 · AllReduce · Broadcast · Ring算法
多GPUNCCL
23
CUDA Graphs
图捕获 · 图实例化 · 图执行 · 动态图
Graph启动
24
CUDA统一内存
UM分配 · 页面迁移 · prefetch · advise · 性能陷阱
UM迁移
25
CUDA动态并行
嵌套核函数 · 动态并行限制 · 递归实现
动态嵌套
26
CUDA Tensor Core
WMMA API · 矩阵乘累加 · 混合精度训练
TensorCore混合精度
27
CUDA库使用
cuBLAS · cuFFT · cuSPARSE · Thrust · CUB
库cuBLAS
28
Nsight性能分析
Nsight Systems · Nsight Compute · 性能瓶颈定位
分析Nsight
29
CUDA调试技巧
cuda-gdb · cuda-memcheck · compute-sanitizer · 断言
调试检查
30
生产环境部署
CUDA兼容性 · 驱动版本 · 容器化 · 多进程服务 · 最佳实践
部署MPS