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

CUDA核函数算子优化实战精讲

📚 共计 30 章节
01
CUDA入门
GPU架构演进史 · 编程模型概述 · 开发环境搭建 (NVIDIA驱动, CUDA Toolkit, Nsight)
环境基础
02
CUDA编程基础
主机与设备 · 核函数定义/调用 · <<<grid, block>>> · 内置变量
线程索引
03
内存模型精讲
全局/共享/寄存器/本地/常量/纹理内存 · 层次结构与访问特性
存储层次
04
线程束与执行模型
Warp概念 · SIMT模型 · 线程束分化 · 分支发散优化
Warp分支
05
全局内存访问优化
合并访问 · 对齐/跨步 · 内存事务 · cudaMallocPitch / cudaMemcpy2D
带宽合并
06
共享内存详解
声明/使用 · Bank Conflict · Padding · 动态共享内存
BankPadding
07
寄存器优化
寄存器溢出 · 占用率与压力平衡 · __launch_bounds__
占用率限定符
08
常量内存与纹理内存
__constant__ · 纹理缓存 · 一维/二维纹理绑定
只读纹理
09
原子操作与同步
atomicAdd · __syncthreads() · 块间同步 · 网格级同步
原子同步
10
流与并发执行
CUDA Stream · 异步操作 · 多流并发 · 传输与计算重叠
流水线重叠
11
事件与性能测量
cudaEvent_t · 事件计时 · 流同步 · Nsight Systems分析
Profiling计时
12
归约算子优化 (上)
树形归约 · 交错/顺序寻址 · 避免Bank Conflict
归约树形
13
归约算子优化 (下)
Warp Shuffle · __shfl_down_sync · 全归约/多块归约
ShuffleWarp
14
向量加法与SAXPY优化
向量化加载(int4/float4) · 循环展开 · 指令级并行
向量化ILP
15
矩阵乘法基础
Naive实现 · 全局内存访问模式 · 分块(Tiling)
GEMMTiling
16
矩阵乘法进阶
共享内存分块 · Bank Conflict消除 · 寄存器缓存 · 向量化加载
共享内存Bank
17
矩阵乘法高级
Warp Tile策略 · CUTLASS设计思想 · cuBLAS对比
WarpTileCUTLASS
18
卷积算子优化 (上)
im2col · 直接卷积 · 共享内存缓存输入/权重
im2col卷积
19
卷积算子优化 (下)
Winograd · FFT卷积 · cuDNN性能对比
WinogradFFT
20
Reduce与Scan原语
Warp级Reduce · Block级Reduce · 全局Scan(前缀和) · 高效实现
Scan前缀和
21
Histogram与排序
直方图原子优化 · 基数排序GPU · 双调排序
排序直方图
22
稀疏矩阵运算
CSR格式 · SpMV · ELLPACK / HYB格式
稀疏SpMV
23
自定义算子与JIT编译
NVRTC · 动态生成核函数 · 算子融合策略
JITNVRTC
24
CUDA Graph
图捕获/重放 · 依赖管理 · 多图执行 · 性能收益
Graph捕获
25
统一内存与多GPU
cudaMallocManaged · 页面错误/迁移 · NCCL基础 · P2P
UM多GPU
26
CUDA与Python集成
PyCUDA · CuPy · Numba CUDA · 自定义Kernel
PythonNumba
27
性能分析工具实战
Nsight Compute · Occupancy分析 · Memory/Compute Roofline
NsightRoofline
28
Roofline模型与瓶颈分析
计算密集度 · 算术强度 · Roofline图 · 瓶颈定位
Roofline瓶颈
29
算子融合与图优化
Kernel Fusion · Horizontal/Vertical Fusion · TVM/Triton简介
融合TVM
30
综合实战:PyTorch算子→CUDA Kernel
识别热点 · 手写Kernel替换 · 性能对比 · 生产部署
实战PyTorch