01
内存拷贝的本质
从冯·诺依曼架构看数据搬运,为什么拷贝是算子的性能瓶颈。
架构瓶颈
02
CPU vs GPU内存层次
寄存器、L1/L2缓存、全局内存、共享内存的延迟对比。
延迟层次
03
连续内存 vs 非连续内存
行优先与列优先,stride对拷贝带宽的影响。
带宽布局
04
memcpy的陷阱
浅拷贝与深拷贝,标准库函数在算子中的局限性。
陷阱标准库
05
DMA与异步拷贝
利用硬件DMA引擎,CPU与GPU的异步数据传输。
DMA异步
06
双缓冲技术
计算与拷贝重叠,隐藏内存延迟的经典方法。
重叠延迟隐藏
07
共享内存的bank conflict
为什么共享内存访问会变慢,如何避免。
bank冲突
08
向量化加载与存储
使用SIMD/向量指令集(如AVX、NEON)加速拷贝。
SIMD向量化
09
内存对齐
对齐访问 vs 非对齐访问,性能差异有多大。
对齐性能
10
预取指令
软件预取与硬件预取,何时该手动干预。
预取优化
11
零拷贝技术
mmap、cudaMallocManaged、统一内存的适用场景。
零拷贝统一内存
12
池化与复用
避免频繁malloc/free,内存池的设计思路。
内存池复用
13
分块拷贝
针对大矩阵的tile-based拷贝策略。
分块tile
14
寄存器重排
通过寄存器文件减少全局内存访问。
寄存器重排
15
常量内存与纹理内存
只读数据的特殊拷贝优化。
常量纹理
16
跨设备拷贝
PCIe/NVLink带宽利用,p2p通信优化。
NVLinkP2P
17
内存压缩
无损压缩算法在拷贝前的应用。
压缩无损
18
写合并与写回
缓存策略对拷贝性能的影响。
缓存写合并
19
NUMA感知拷贝
绑定CPU核心与内存节点。
NUMA亲和性
20
持久化内存
PMem的拷贝特性与优化。
PMem持久化
21
GPU warp级别拷贝
利用warp shuffle指令减少共享内存使用。
warpshuffle
22
异步拷贝指令
CUDA的cp.async与PTX指令。
cp.asyncPTX
23
内存屏障
何时需要同步,如何避免过度同步。
屏障同步
24
拷贝与计算融合
在拷贝过程中完成简单计算。
融合计算
25
多流并发
使用多个CUDA流实现拷贝与计算并行。
CUDA流并发
26
内存碎片化
长期运行算子的内存管理挑战。
碎片管理
27
性能剖析工具
使用nvprof/nsight、perf定位拷贝瓶颈。
profiling工具
28
算子融合中的拷贝消除
通过算子融合减少中间拷贝。
融合消除
29
图优化中的拷贝调度
计算图编译时的拷贝重排。
图优化调度
30
未来趋势
CXL、存算一体对内存拷贝的颠覆。
CXL存算一体