01
内存带宽基础
什么是内存带宽、带宽计算公式、常见内存类型及带宽对比
DDR4HBM公式
02
带宽瓶颈识别
使用性能分析工具(perf、vtune)定位带宽瓶颈、关键性能指标解读
perfvtuneCPI
03
数据局部性优化
时间局部性与空间局部性、循环交换与数据重排、缓存行对齐
缓存循环交换对齐
04
内存访问模式优化
连续访问 vs 随机访问、步长访问的影响、预取指令的使用
预取步长连续
05
多线程与带宽
NUMA架构下的内存分配、线程绑定与亲和性、避免伪共享
NUMA亲和性伪共享
06
数据结构优化
紧凑数据结构、减少指针追逐、使用数组结构体(SoA)替代结构体数组(AoS)
SoAAoS紧凑
07
编译器优化
编译器自动向量化、循环展开、使用__restrict关键字
向量化restrict循环展开
08
高级技术
非临时存储指令、大页内存、内存池与自定义分配器
大页NT存储内存池
09
GPU与异构计算
GPU内存带宽特性、CPU-GPU数据传输优化、统一内存管理
CUDA统一内存传输
10
案例实战
图像处理中的带宽优化、矩阵乘法的带宽优化、数据库查询的带宽优化
图像矩阵乘法数据库
11
内存带宽基础
DDR4 vs DDR5 vs HBM 带宽差异详解
DDR5HBM对比
12
带宽瓶颈识别
使用 roofline 模型分析计算密集 vs 内存密集
roofline计算密集分析
13
数据局部性优化
分块算法(Tiling)的原理与实现
Tiling分块局部性
14
内存访问模式优化
软件预取(prefetch)的实战技巧
prefetch软件预取实战
15
多线程与带宽
OpenMP 中的调度策略对带宽的影响
OpenMP调度带宽
16
数据结构优化
压缩数据结构减少内存占用
压缩内存占用紧凑
17
编译器优化
Profile-Guided Optimization (PGO) 的使用
PGO优化编译器
18
高级技术
使用 Intel MKL 或 Eigen 库进行带宽优化
MKLEigen库
19
GPU与异构计算
CUDA 中的共享内存与全局内存优化
共享内存全局内存CUDA
20
案例实战
视频编解码中的带宽优化
视频编解码带宽
21
内存带宽基础
内存控制器与通道配置
控制器通道配置
22
带宽瓶颈识别
使用火焰图分析内存访问热点
火焰图热点分析
23
数据局部性优化
递归数据结构(如树、图)的局部性优化
递归树图
24
内存访问模式优化
使用 gather/scatter 指令
gatherscatterSIMD
25
多线程与带宽
MPI 中的单边通信与带宽优化
MPI单边通信带宽
26
数据结构优化
使用位域和枚举减少内存占用
位域枚举内存
27
编译器优化
Link-Time Optimization (LTO) 的效果
LTO链接优化
28
高级技术
使用 DPDK 进行网络数据包处理的内存优化
DPDK网络零拷贝
29
GPU与异构计算
使用 ROCm 进行 AMD GPU 的带宽优化
ROCmAMDGPU
30
案例实战
大规模推荐系统中的 Embedding 带宽优化
推荐系统Embedding带宽