🚀 CUDA 优化指南
英伟达 GPU 编程 · 30 章
📚
30 章节
⚡
从入门到 Hopper/Blackwell
🧩
友好色系
01
CUDA入门
GPU计算概述
CUDA架构简介 · 开发环境搭建 (驱动, Toolkit, cuDNN)
02
CUDA编程模型
主机与设备
核函数 · 线程层次 Grid/Block/Thread · <<<>>> 语法
03
CUDA内存模型
全局/共享/寄存器
本地内存 · 常量内存 · 纹理内存
04
CUDA程序编译与执行
nvcc编译器
PTX与SASS · 运行时API与驱动API
05
CUDA错误处理
cudaError_t
cudaGetLastError · cudaPeekAtLastError · 错误检查宏
06
CUDA事件与计时
cudaEvent_t
cudaEventCreate · Record · Synchronize · ElapsedTime
07
并行归约 Reduction
树形归约
Bank Conflict · Warp Shuffle 优化
08
矩阵乘法优化
Naive / Tiling
共享内存分块 · Coalescing · 寄存器优化
09
流与并发执行
CUDA Stream
默认/非默认流 · Stream同步 · MPS
10
异步操作与重叠
异步内存拷贝
计算与拷贝重叠 · CUDA Graph优化
11
统一内存 Unified Memory
UM概念
页面错误与迁移 · cudaMallocManaged · 性能调优
12
CUDA库
cuBLAS/cuFFT/cuRAND
矩阵乘法 · FFT · 随机数生成
13
纹理内存与表面内存
纹理对象
纹理参考 · 拾取 · 边界处理
14
动态并行 Dynamic Parallelism
GPU启动GPU
递归与嵌套 · 使用场景与限制
15
CUDA图编程
Graph创建/执行
图更新 · cudaGraphInstantiate 优化
16
Occupancy配置
Occupancy概念
cudaOccupancyMaxActiveBlocks · 启动配置优化
17
Warp级别原语
Shuffle / Vote
__shfl_sync · __any_sync · Warp Matrix Multiply
18
CUDA原子操作
全局/共享原子
原子操作性能考量
19
多GPU编程
cudaSetDevice
P2P通信 · 多GPU同步与协作
20
CUDA+OpenMP/MPI
CPU-GPU协同
MPI+CUDA分布式 · OpenMP卸载到GPU
21
性能分析工具
Nsight Systems
Nsight Compute · nvprof/nvvp · Visual Profiler
22
内存带宽优化
合并访问
对齐访问 · L1/L2缓存 · 只读缓存
23
指令级优化 ILP
循环展开
内联函数 · __restrict__ 关键字
24
深度学习框架集成
PyTorch扩展
TensorFlow自定义Op · ONNX Runtime CUDA
25
CUDA与图像处理
图像卷积
直方图均衡 · Sobel边缘检测 · NPP库
26
CUDA与科学计算
N体模拟
蒙特卡洛 · 有限差分 · CUDA Math API
27
CUDA与密码学
AES/SHA
椭圆曲线加密 · 并行暴力破解
28
CUDA与数据库
GPU加速SQL
哈希连接 · 排序算法 · 位图索引
29
CUDA与实时渲染
光线追踪
OptiX · 路径追踪 · 体渲染 · CUDA-OpenGL互操作
30
最佳实践与总结
性能优化流程
常见陷阱 · 代码重构 · Hopper/Blackwell架构