从CPU思维迁移 · GPU编程
🎯 30章
完整进阶
01
CPU与GPU架构差异
冯·诺依曼瓶颈 · 低延迟 vs 高吞吐
02
思维转变:单线程→多线程
SIMT执行模型 · 众核认知跃迁
03
CUDA编程模型入门
Host/Device · Kernel · grid/block
04
线程层次结构
Grid/Block/Thread · 内置变量
05
第一个CUDA程序:向量加法
CPU串行→GPU并行 · 性能验证
06
GPU内存模型全景
全局/共享/寄存器/常量/纹理
07
全局内存访问优化
合并访问 · 对齐与跨步
08
共享内存 (Shared Memory)
Bank Conflict · 动态/静态分配
09
同步与原子操作
__syncthreads · atomicAdd · 归约
10
并行归约 (Reduction)
树形归约 · warp级归约
11
Warp与线程束
Warp调度 · Divergence · Occupancy
12
流与并发执行
CUDA Stream · 流水线重叠
13
异步与事件
Events · cudaMemcpyAsync
14
统一内存 (Unified Memory)
cudaMallocManaged · 自动迁移
15
矩阵乘法优化 (基础)
Naive瓶颈 · 共享内存分块
16
矩阵乘法优化 (进阶)
Bank消除 · 循环展开 · cuBLAS
17
CUDA库的调用
cuBLAS/cuFFT/cuRAND/Thrust
18
GPU性能分析工具
Nsight Systems · Nsight Compute
19
错误处理与调试
Error Checking · cuda-gdb
20
CPU数据结构→GPU
AoS → SoA · 数据布局
21
图计算与动态并行
Dynamic Parallelism · 递归
22
多GPU编程
P2P · Kernel分发 · 负载均衡
23
GPU与CPU协同设计
任务划分 · 异构最佳实践
24
深度学习GPU编程
Tensor Core · 混合精度FP16/BF16
25
CUDA Graph
Kernel启动图 · 减少开销
26
GPU虚拟化与MPS
Multi-Process Service · 资源共享
27
CUDA与Python
PyCUDA · Numba · 快速原型
28
GPU数值精度
IEEE 754 · Kahan求和
29
真实项目:图像卷积
边界处理 · 共享内存优化
30
总结与未来展望
Hopper/Blackwell · 学习路径