首页
›
AI算力与GPU工程
›
012-CUDA核函数
›
《CUDA核函数显存带宽与访存优化实战》
VIP20
本课程属于:012-CUDA核函数
AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
CUDA核函数显存优化实战技巧集
📚 共计 30 章节
01
显存基础与瓶颈分析
GPU显存层次结构(Global/Shared/Register/Local)· 显存带宽与延迟的量化分析 · 典型显存瓶颈的Profiling方法
层次结构
带宽
Profiling
02
全局内存合并访问
Global Memory Coalescing原理 · 对齐与步长对带宽的影响 · 实战:矩阵转置的合并访问优化
Coalescing
对齐
矩阵转置
03
共享内存Bank Conflict
Shared Memory架构与Bank映射 · Bank Conflict的检测与消除 · 实战:归约操作的Bank Conflict优化
Bank
Conflict
归约
04
寄存器压力与Spilling
寄存器分配机制 · 寄存器溢出(Register Spilling)的代价 · 实战:通过调整Block大小控制寄存器压力
寄存器
Spilling
Block
05
常量内存与纹理内存
__constant__的使用场景与限制 · 纹理内存的缓存特性与插值功能 · 实战:查找表(LUT)的常量内存优化
常量内存
纹理
LUT
06
流水线与异步传输
CUDA Stream与并发执行 · cudaMemcpyAsync与计算重叠 · 实战:双缓冲(Double Buffering)实现计算与传输重叠
Stream
异步
双缓冲
07
统一内存与页面迁移
Unified Memory原理 · 页面错误(Page Fault)与迁移策略 · 实战:使用cudaMemAdvise优化数据局部性
Unified Memory
Page Fault
cudaMemAdvise
08
内存池与预分配
cudaMalloc/cudaFree的开销分析 · CUDA Memory Pool (cudaMemPool) 的使用 · 实战:自定义内存分配器减少分配次数
内存池
cudaMemPool
预分配
09
内核启动开销与Occupancy
Kernel Launch Latency · Occupancy计算与优化 · 实战:通过Occupancy API调整Block/Grid配置
Occupancy
Launch
Block/Grid
10
Warp级别原语
Warp Shuffle指令(__shfl_sync)· Warp级归约与扫描 · 实战:使用Warp Shuffle替代Shared Memory归约
Shuffle
Warp
归约
11
向量化内存访问
int4/float4等向量类型的加载与存储 · 向量化对带宽利用率的影响 · 实战:元素级运算的向量化改造
向量化
int4
带宽
12
持久化线程(Persistent Threads)
持久化线程模式原理 · 动态工作分配 · 实战:动态并行中的持久化线程应用
Persistent
动态并行
工作分配
13
CUDA Graphs
CUDA Graphs的构建与重放 · Graph的捕获模式(Stream Capture)· 实战:将固定计算模式转化为Graph
Graph
Stream Capture
重放
14
NCCL与多GPU通信
NCCL集合通信原语(AllReduce/AllGather)· Ring算法与带宽优化 · 实战:多卡同步的NCCL优化
NCCL
AllReduce
多GPU
15
内存带宽的Roofline模型
Roofline模型原理 · 计算强度(Arithmetic Intensity)分析 · 实战:使用Nsight Compute生成Roofline图
Roofline
计算强度
Nsight
16
L2缓存命中率优化
L2缓存架构与分区 · 缓存行(Cache Line)与扇区(Sector)· 实战:数据重排提升L2命中率
L2缓存
Cache Line
数据重排
17
原子操作与锁
Global/Shared Memory原子操作 · 原子操作的冲突与性能 · 实战:直方图计算的原子操作优化
原子操作
直方图
冲突
18
动态并行(Dynamic Parallelism)
子内核启动机制 · 递归与动态并行 · 实战:树形结构的动态并行实现
动态并行
子内核
树形
19
CUDA Tensor Core
Tensor Core架构与WMMA API · 混合精度计算(FP16/BF16/INT8)· 实战:矩阵乘法的Tensor Core优化
Tensor Core
WMMA
混合精度
20
内存压缩与稀疏性
稀疏矩阵存储格式(CSR/COO)· cuSPARSE库的使用 · 实战:稀疏矩阵向量乘(SpMV)优化
稀疏
CSR
cuSPARSE
21
CUDA Unified Memory 2.0
UM的硬件加速页面迁移 · cudaMemAdvise高级策略 · 实战:多GPU场景的UM优化
UM 2.0
页面迁移
多GPU
22
内核融合(Kernel Fusion)
Fusion减少全局内存访问 · Fusion策略与约束 · 实战:逐元素运算的Fusion
Fusion
逐元素
内存访问
23
数据布局优化
AoS vs SoA · 结构体数组与数组结构体 · 实战:粒子系统的SoA改造
AoS
SoA
粒子系统
24
内存对齐与Padding
对齐要求与性能影响 · 显式Padding消除Bank Conflict · 实战:结构体对齐优化
对齐
Padding
结构体
25
CUDA IPC与跨进程通信
IPC句柄与共享显存 · 多进程GPU编程 · 实战:多进程推理服务的显存共享
IPC
多进程
显存共享
26
显存泄漏检测与调试
cuda-memcheck与compute-sanitizer · 显存泄漏的常见模式 · 实战:使用工具定位泄漏
泄漏检测
compute-sanitizer
调试
27
CUDA 12新特性
新一代内存管理 · 增强的异步操作 · 实战:CUDA 12的显存优化新功能
CUDA 12
异步
内存管理
28
混合精度训练优化
AMP(Automatic Mixed Precision)· Master Weights与Loss Scaling · 实战:BERT训练的显存优化
AMP
混合精度
BERT
29
FlashAttention与显存优化
FlashAttention原理 · Tiling与重计算 · 实战:实现简化版FlashAttention
FlashAttention
Tiling
重计算
30
端到端显存优化案例
从Profiling到优化的完整流程 · 综合运用多种优化技巧 · 实战:优化一个Transformer推理的显存占用
端到端
Transformer
综合优化
所属VIP或分类
同VIP:AI训练CUDA核函数与算子优化实战
同VIP:AI训练CUDA核函数与算子性能优化
同VIP:CUDA核函数任务调度与异步并发实战