第1章
CUDA编程模型与GPU架构基础
理解GPU并行架构(SM、Warp、Thread),掌握Grid/Block/Thread层次,编写第一个CUDA程序。
入门核心
第2章
内存层次结构与优化策略
全局/共享/寄存器/本地/常量/纹理内存特性,内存合并访问与Bank Conflict避免。
内存优化
第3章
Warp级别优化与线程束发散
Warp执行模型,线程束发散原因与代价,数据重排与分支优化。
Warp分支
第4章
共享内存与同步机制
共享内存声明/生命周期,__syncthreads()正确使用,减少全局内存访问。
同步共享内存
第5章
原子操作与锁机制
原子操作种类与性能,并行归约/直方图场景,避免锁竞争。
原子并发
第6章
流与并发执行
CUDA流概念,创建/管理/同步多流,内核执行与数据传输重叠。
流并发
第7章
CUDA事件与性能测量
CUDA事件精确计时,性能注意事项,Profiling工具定位瓶颈。
性能分析
第8章
归约操作优化
从并行归约到Warp Shuffle、循环展开、多阶段归约,逼近理论极限。
归约Shuffle
第9章
矩阵乘法优化
共享内存分块、寄存器缓存、向量化加载、双缓冲,达到cuBLAS级别。
GEMM共享内存
第10章
卷积操作优化
im2col/Winograd/FFT的CUDA实现,共享内存与寄存器优化卷积核。
卷积im2col
第11章
稀疏矩阵运算优化
CSR/COO格式CUDA实现,负载均衡与行合并优化。
稀疏CSR
第12章
图算法在GPU上的实现
BFS/SSSP/PageRank并行化,动态并行与负载均衡挑战。
图算法BFS
第13章
排序算法优化
归并排序/基数排序/双调排序,排序网络与Warp级别排序技巧。
排序基数
第14章
前缀和(Scan)优化
Hillis-Steele/Blelloch算法,Warp/Block级别优化实现。
Scan前缀和
第15章
直方图计算优化
共享内存、原子操作、私有化直方图,避免写冲突。
直方图原子
第16章
归并操作(Gather/Scatter)优化
非连续内存访问优化,数据重排与向量化访问。
GatherScatter
第17章
CUDA动态并行
动态并行概念与使用场景,GPU递归启动内核方法。
动态并行递归
第18章
CUDA统一内存与流式处理
统一内存页错误机制与迁移策略,结合流简化编程。
统一内存流
第19章
CUDA图(Graph)与MPS
CUDA Graphs创建执行,MPS多进程服务原理与场景。
GraphMPS
第20章
CUDA与多GPU编程
多GPU模型,点对点通信,GPU间数据传输与负载均衡。
多GPUP2P
第21章
CUDA与NVLink/NVSwitch
NVLink/NVSwitch拓扑,高速互联优化多GPU通信。
NVLink互联
第22章
CUDA与Tensor Core
Tensor Core编程模型,mma.h/wmma.h混合精度矩阵运算。
Tensor Core混合精度
第23章
CUDA与CUDA Runtime API
Runtime API底层实现,cuMemAlloc/cuLaunchKernel等底层API。
Runtime底层
第24章
CUDA与cuBLAS/cuDNN库
高效调用cuBLAS/cuDNN,库函数性能特性与最佳实践。
cuBLAScuDNN
第25章
CUDA与NCCL通信库
NCCL集合通信(AllReduce/AllGather),多节点分布式训练优化。
NCCL分布式
第26章
CUDA内核调试技术
cuda-gdb/Nsight Debugger,断点/单步/变量查看。
调试cuda-gdb
第27章
CUDA性能剖析与Nsight工具
Nsight Systems/Compute性能分析,定位性能瓶颈。
Nsight剖析
第28章
CUDA代码优化方法论
系统优化流程:算法选择、内存优化、计算优化、指令级优化。
方法论流程
第29章
CUDA在深度学习中的应用
LayerNorm/Softmax/Attention算子优化,融合内核编写。
深度学习融合
第30章
CUDA前沿技术与未来趋势
CUDA 12.x新功能,CUTLASS/Triton等发展方向。
前沿CUTLASS