VIP20
本课程属于:011-CUDA AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

CUDA性能优化:AI训练效率提升实战

📚 共计 30 章节
第1章
CUDA编程模型与GPU架构基础
理解GPU并行计算原理、CUDA线程层次结构(Grid-Block-Thread)、内存层次结构(Global/Shared/Register/Local)。
核心基础线程模型
第2章
CUDA环境搭建与工具链
NVIDIA驱动、CUDA Toolkit、cuDNN安装,nvcc编译器使用,Nsight Systems/Nsight Compute性能分析工具入门。
环境配置工具链
第3章
CUDA核函数编写基础
__global__、__device__、__host__修饰符,核函数启动配置(<<>>),线程索引计算。
核函数启动配置
第4章
内存访问模式优化
合并访问(Coalesced Access)原理与实践,对齐访问,Global Memory带宽利用率最大化。
内存优化带宽
第5章
共享内存(Shared Memory)优化
Bank Conflict避免策略,共享内存分配与使用,Tile算法实现矩阵乘法。
共享内存Bank冲突
第6章
寄存器与本地内存优化
寄存器溢出(Register Spilling)检测与避免,Occupancy与寄存器数量的权衡。
寄存器Occupancy
第7章
Warp级别优化
Warp发散(Warp Divergence)原因与避免,Warp Shuffle指令(__shfl_sync)使用,Warp Vote与Match操作。
WarpShuffle
第8章
流(Stream)与并发执行
CUDA Stream创建与管理,异步内存传输(cudaMemcpyAsync),多流并发执行与重叠(Overlap)。
并发Stream
第9章
CUDA事件与计时
cudaEvent_t创建与使用,精确测量核函数执行时间,同步与异步操作的时间分析。
性能分析Event
第10章
统一内存(Unified Memory)与自动迁移
cudaMallocManaged使用,页面错误(Page Fault)与迁移开销,Prefetching与Advise优化。
统一内存Prefetch
第11章
CUDA Graph优化
CUDA Graph的创建与实例化,Graph捕获模式(cudaStreamBeginCapture),Graph重放与性能提升。
Graph捕获
第12章
CUDA库(cuBLAS/cuDNN)高效使用
cuBLAS Handle创建与配置,cuDNN Tensor描述符与算法选择,库函数调用的最佳实践。
cuBLAScuDNN
第13章
混合精度训练(Mixed Precision)
FP16/BF16/FP32数据类型选择,Tensor Core原理与使用,Loss Scaling技术。
混合精度Tensor Core
第14章
分布式训练中的CUDA优化
NCCL(NVIDIA Collective Communications Library)基础,AllReduce/AllGather操作优化,Ring算法与Tree算法。
分布式NCCL
第15章
数据加载与预处理加速
使用cuDF与RAPIDS加速数据预处理,NVIDIA DALI(Data Loading Library)管线构建,GPU解码JPEG/PNG。
数据加载DALI
第16章
卷积操作优化
im2col算法与Winograd算法,cuDNN卷积算法选择(CUDNN_CONVOLUTION_FWD_ALGO_*),Fused Convolution与BatchNorm。
卷积cuDNN
第17章
Transformer模型优化
Flash Attention原理与实现,KV Cache优化,Fused Multi-Head Attention Kernel编写。
TransformerFlashAttention
第18章
算子融合(Operator Fusion)
Horizontal Fusion与Vertical Fusion策略,JIT编译(nvrtc)实现动态融合,TensorRT中的融合示例。
算子融合JIT
第19章
内存池与内存复用
cudaMemPool_t使用,自定义内存分配器,减少cudaMalloc/cudaFree调用频率。
内存池复用
第20章
CUDA内核启动开销优化
减少内核启动次数,使用Persistent Kernel技术,Kernel Launch Batching。
启动开销Persistent
第21章
动态形状(Dynamic Shape)处理
Padding与Masking策略,CUDA Graph对不同形状的适配,动态Batching技术。
动态形状Batching
第22章
稀疏计算优化
稀疏矩阵存储格式(CSR/COO),cuSPARSE库使用,稀疏注意力(Sparse Attention)实现。
稀疏cuSPARSE
第23章
量化(Quantization)与CUDA优化
INT8/INT4量化原理,CUDA Tensor Core INT8支持,量化感知训练(QAT)与后训练量化(PTQ)。
量化INT8
第24章
CUDA与PyTorch/TensorFlow集成
自定义CUDA扩展(torch.utils.cpp_extension),TensorFlow自定义Op(Custom OP),Autograd与CUDA Graph结合。
PyTorchTensorFlow
第25章
性能剖析与瓶颈定位
Nsight Compute Metrics解读(SM Occupancy, Memory Throughput, Compute Throughput),Roofline Model分析。
性能剖析Roofline
第26章
CUDA调试与错误处理
cudaError_t检查,cuda-gdb调试,cuda-memcheck与compute-sanitizer使用。
调试cuda-gdb
第27章
多GPU编程与Peer-to-Peer通信
cudaSetDevice,cudaDeviceEnablePeerAccess,P2P Direct Access与NVLink优化。
多GPUP2P
第28章
CUDA与CPU协同优化
CPU-GPU任务划分,异步启动与CPU并行处理,Zero-Copy内存访问。
协同Zero-Copy
第29章
大规模AI训练中的CUDA实践
Megatron-LM/DeepSpeed中的CUDA优化策略,3D并行(TP/PP/DP)的CUDA实现,通信计算重叠。
大规模3D并行
第30章
前沿CUDA技术展望
Hopper架构(H100)新特性(DPX指令、Transformer Engine),CUDA 12.x新功能,未来GPU架构趋势与AI训练优化方向。
前沿Hopper