1. Nvidia GPU 的内存分布
CUDA 设备使用多个内存空间,这些内存空间具有不同的特征,反映了它们在 CUDA 应用程序中的不同用法。这些内存空间包括
- 全局内存
- 本地内存
- 共享内存
- 纹理
- 寄存器
2. 片外内存的优化
其中Local、Global、Contant、Texture都是片外内存。故,优化的关键点有二
- 减少片外内存访问
- CUDA11.0开始,主动片外内存与优化片上L2Cache的关系,提高访问命中率。
详见本栏L2Cache专题
3. 片上内存的优化
片上内存的优化复杂点在SharedMemroy和Register。
- SharedMemory的优化关键点是利用内存块独立访问和线程共享内存的特性优化并行访存效率。另外,SharedMemory和片外内存互动也是优化重点。
详见本栏SharedMemroy专题
- Register // TODO