VIP20
本课程属于:006-吞吐压测 AI算力与GPU工程 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

吞吐压测中的CUDA内存拷贝优化

📚 共计 30 章节
01
CUDA内存模型全景
全局内存、共享内存、寄存器、本地内存、常量内存、纹理内存的层次结构与带宽特性。
层次结构带宽
02
内存拷贝的同步与异步
cudaMemcpy、cudaMemcpyAsync、流(Stream)与事件(Event)的协同机制。
StreamEvent
03
固定内存(Pinned Memory)原理
为什么malloc分配的内存拷贝慢?cudaHostAlloc与页锁定内存的奥秘。
页锁定cudaHostAlloc
04
零拷贝内存(Zero-Copy Memory)
映射主机内存到设备端,避免显式拷贝的场景与代价。
映射零拷贝
05
统一内存(Unified Memory)实战
cudaMallocManaged的自动迁移机制、性能陷阱与手动优化策略。
自动迁移性能陷阱
06
内存拷贝与计算重叠
使用多流(Multi-Stream)实现数据传输与Kernel执行的流水线作业。
多流流水线
07
双向带宽压测
编写双向带宽测试工具,测量PCIe Gen3/Gen4/Gen5的实际吞吐量。
PCIe吞吐量
08
NCCL集体通信中的内存拷贝
AllReduce、AllGather等操作中的内存拷贝优化策略。
NCCLAllReduce
09
CUDA Graphs与内存拷贝
将内存拷贝操作封装进Graph,减少Kernel Launch开销。
CUDA GraphsLaunch开销
10
异步数据预取(Async Prefetch)
使用cudaMemPrefetchAsync提前将数据迁移到目标设备。
预取cudaMemPrefetchAsync
11
内存拷贝的带宽限制因素
PCIe链路宽度、NUMA亲和性、CPU频率对拷贝性能的影响。
NUMAPCIe宽度
12
多GPU间的直接拷贝
cudaMemcpyPeer与NVLink/NVSwitch的高带宽直连路径。
NVLinkcudaMemcpyPeer
13
内存池(Memory Pool)优化
cudaMemPool系列API减少频繁分配释放的开销。
内存池cudaMemPool
14
DMA引擎与拷贝队列
理解GPU的DMA引擎工作原理,避免拷贝队列拥塞。
DMA队列拥塞
15
内存拷贝的延迟隐藏
通过预取、双缓冲、环形缓冲区等技术隐藏拷贝延迟。
双缓冲环形缓冲区
16
CUDA IPC与跨进程内存共享
cudaIpcGetMemHandle实现多进程间的零拷贝通信。
IPC零拷贝
17
内存拷贝的性能剖析
使用Nsight Systems、nvprof分析拷贝时间线与带宽利用率。
Nsightnvprof
18
内存对齐与合并访问
对齐要求、stride访问对拷贝带宽的影响及优化方法。
内存对齐合并访问
19
大页内存(Huge Pages)与透明大页
减少TLB miss,提升内存拷贝的CPU端效率。
Huge PagesTLB
20
内存拷贝的错误处理
cudaError_t的常见错误码、超时检测与优雅降级策略。
错误码超时检测
21
CPU-GPU间的异步拷贝回调
使用cudaLaunchHostFunc在拷贝完成后执行CPU逻辑。
回调cudaLaunchHostFunc
22
内存拷贝的带宽节流控制
动态调整拷贝速率,避免压垮PCIe总线。
节流PCIe
23
CUDA MPS与内存拷贝
多进程共享GPU时的内存拷贝冲突与隔离策略。
MPS隔离
24
内存拷贝的NUMA优化
绑定CPU线程到近端NUMA节点,减少跨Socket拷贝延迟。
NUMA绑定
25
持久化内存拷贝
针对持久化内存(Persistent Memory)的特殊拷贝优化技巧。
持久化内存PMem
26
内存拷贝的零初始化优化
使用cudaMemsetAsync与延迟初始化减少不必要的数据搬运。
cudaMemsetAsync延迟初始化
27
内存拷贝与电源管理
GPU电源状态(P-State)对拷贝带宽的影响及锁定策略。
P-State电源管理
28
内存拷贝的校验与容错
拷贝后的数据校验(CRC/ECC)、重传机制与日志记录。
CRCECC
29
端到端压测案例
构建一个完整的吞吐压测系统,包含数据生成、拷贝、计算、回收全链路。
压测系统全链路
30
内存拷贝优化的未来趋势
CXL互连、池化内存、GPU直连存储对拷贝模型的变革。
CXL池化内存