01
GPU计算概述
GPU vs CPU架构差异 · 发展简史 · 图形渲染/科学计算/AI训练 · CUDA/OpenCL/HIP/SYCL概览
架构框架对比
02
CUDA开发环境搭建
NVIDIA驱动 · CUDA Toolkit · 环境变量 · nvcc验证 · Nsight工具
环境nvcc
03
第一个CUDA程序
Hello World CPU→GPU · 基本结构 · 主机/设备代码 · __global__ · <<<>>>
入门kernel
04
线程层次结构
Grid/Block/Thread · 一/二/三维索引 · threadIdx/blockDim · 线程束Warp
线程索引
05
CUDA内存模型概述
全局/共享/寄存器/本地/常量/纹理内存 · 层次与速度对比
内存层次
06
全局内存访问
cudaMalloc/cudaMemcpy/cudaFree · Unified Memory · 对齐与合并访问
全局内存合并
07
共享内存
__shared__ · 生命周期 · Bank Conflict · 矩阵转置优化
共享内存优化
08
常量内存与纹理内存
__constant__ · cudaMemcpyToSymbol · 纹理只读缓存 · 适用场景
常量纹理
09
寄存器与本地内存
寄存器溢出 · __launch_bounds__ · 本地内存隐藏开销
寄存器溢出
10
CUDA流与事件
Stream概念 · 默认/非默认流 · 同步 · 事件计时
流事件
11
异步操作与并发执行
cudaMemcpyAsync · 内核与传输重叠 · 多流并发 · MPS简介
异步并发
12
原子操作
atomicAdd/Sub/Exch · 全局/共享内存原子操作 · 性能代价
原子同步
13
同步机制
__syncthreads() · 块内同步 · 网格级同步(Cooperative Groups) · __syncwarp()
同步barrier
14
CUDA数学库
__sinf/__expf · 精度与性能 · Math API · half浮点
数学half
15
纹理内存高级
纹理对象API · 拾取模式 · 归一化坐标 · 边界处理
纹理高级
16
CUDA动态并行
动态并行概念 · 子网格启动 · 嵌套内核限制 · 递归实现
动态并行递归
17
CUDA图 (Graph)
图捕获模式 · cudaGraphInstantiate · 执行与重放 · 动态图
图捕获
18
CUDA库简介
cuBLAS · cuFFT · cuRAND · cuSPARSE · Thrust
库cuBLAS
19
CUDA调试与性能分析
cuda-gdb · cuda-memcheck · Nsight Compute · Occupancy
调试性能
20
CUDA错误处理
cudaGetLastError · cudaError_t · 检查宏 · 异步错误
错误健壮性
21
HIP编程基础
AMD ROCm · HIP vs CUDA语法 · hipify工具 · 移植实践
HIPAMD
22
OpenCL核心语法
平台模型 · 上下文/命令队列 · 内核编译 · 内存对象
OpenCL跨平台
23
SYCL编程入门
SYCL 2020 · 单源模型 · 缓冲区/访问器 · 队列与处理器
SYCL现代
24
GPU内存优化实战
带宽利用率 · 循环分块(Tiling) · 数据预取 · 寄存器缓存
优化Tiling
25
GPU内核优化策略
ILP/TLP · 占用率与资源权衡 · 循环展开
ILP占用率
26
归约(Reduction)优化
树形归约 · Warp Shuffle · 共享内存归约 · 原子归约对比
归约Shuffle
27
扫描(Scan)与直方图
Hillis-Steele/Blelloch · 直方图原子优化 · 分段扫描
扫描直方图
28
稀疏矩阵计算
CSR格式 · SpMV优化 · ELL/COO格式对比
稀疏SpMV
29
GPU上的深度学习
卷积(im2col/Winograd) · cuDNN · Tensor Core · 混合精度训练
深度学习Tensor Core
30
多GPU编程
P2P通信 · NCCL库 · 多GPU归约/AllReduce · 拓扑感知
多GPUNCCL