01
CUDA内存模型全景
从全局内存到寄存器,一张图看懂GPU存储层次。
🏛️ 架构🧠 基础
02
cudaMemcpy基础
同步拷贝的三种模式:HostToDevice、DeviceToHost、DeviceToDevice。
🔁 同步📦 传输
03
内存带宽理论极限
如何计算GPU的理论峰值带宽,为什么实际跑不满?
⚡ 带宽📐 理论
04
页锁定内存 (Pinned Memory)
malloc与cudaHostAlloc的差距有多大?
📌 锁定⚡ 加速
05
异步数据传输
cudaMemcpyAsync与流(Stream)的正确打开方式。
⏳ 异步🌊 Stream
06
零拷贝内存 (Zero-Copy)
什么时候该用,什么时候不该用?
🔄 零拷贝⚠️ 陷阱
07
统一内存 (Unified Memory)
CUDA 6.0带来的革命,性能陷阱在哪里?
🕊️ UM🧩 革命
08
内存拷贝与计算重叠
双缓冲(Double Buffering)技术实战。
⏱️ 重叠📀 双缓冲
09
PCIe带宽瓶颈
如何测量实际PCIe吞吐量,为什么只有理论值的70%?
🔌 PCIe📉 瓶颈
10
批量小数据传输
cudaMemcpy的启动开销,如何合并传输?
📦 批量⚙️ 合并
11
CUDA事件计时
精确测量内存拷贝时间的正确姿势。
⏲️ 计时🎯 精确
12
内存拷贝的带宽优化
对齐访问与连续内存布局。
📐 对齐📈 优化
13
二维内存拷贝
cudaMemcpy2D与cudaMemcpy2DToArray的性能差异。
📐 2D🖼️ 纹理
14
三维内存拷贝
cudaMemcpy3D在体积数据处理中的优化。
🧊 3D📦 体数据
15
异步拷贝与MPS
多进程共享GPU时如何避免拷贝冲突?
👥 MPS⚡ 并发
16
GPU Direct P2P
同一节点内多GPU之间的直接数据传输。
🔗 P2P🚀 直连
17
GPU Direct RDMA
跨节点GPU通信,绕过CPU的终极方案。
🌐 RDMA⚡ 跨节点
18
内存池 (Memory Pool)
CUDA 11.2的新特性,减少cudaMalloc开销。
🏊 池化🆕 11.2
19
固定内存与映射内存
cudaHostRegister的动态注册技巧。
📌 固定🔄 映射
20
内存拷贝的带宽与延迟
为什么延迟比带宽更难优化?
⏳ 延迟📊 权衡
21
NVIDIA Nsight Systems分析
如何用工具定位拷贝瓶颈。
🔍 Nsight📈 分析
22
NVIDIA Nsight Compute分析
内存拷贝对内核性能的影响。
🔬 Nsight Compute⚙️ 内核
23
内存拷贝与内核启动的依赖关系
cudaStreamSynchronize的正确使用。
⛓️ 依赖🔄 同步
24
多流并发拷贝
如何最大化PCIe带宽利用率。
🌊 多流📈 利用率
25
内存拷贝的错误处理
cudaError_t的常见返回值与排查方法。
⚠️ 错误🔧 调试
26
内存拷贝的缓存行为
L1/L2缓存对拷贝性能的影响。
🗃️ 缓存⚡ 影响
27
非连续内存拷贝
cudaMemcpy2D的pitch参数深度解析。
📐 pitch🧩 非连续
28
内存拷贝与电源管理
为什么GPU空闲时拷贝速度会下降?
🔋 电源🌙 空闲
29
内存拷贝的NUMA感知
多路CPU系统下的内存亲和性优化。
🧠 NUMA🔗 亲和性
30
实战案例:从100GB/s到800GB/s
一个图像处理应用的拷贝优化全记录。
🚀 实战📈 优化