📡 从MPI到NVSHMEM
通信模型演进之路 · 30章完全目录
🧩 30课时
⚡ GPU就绪
📘 友好色
1
01
课程导论
为什么要学通信模型演进?MPI与NVSHMEM的定位与对比。
2
02
并行计算基础
Flynn分类法、共享内存与分布式内存模型。
3
03
MPI起源
MPI标准的历史背景与设计哲学。
4
04
MPI核心概念
通信子、点对点通信、集合通信。
5
05
MPI点对点通信
阻塞与非阻塞发送/接收 (MPI_Send/Recv/Isend/Irecv)。
6
06
MPI集合通信
广播、归约、散射、收集 (Bcast/Reduce/Scatter/Gather)。
7
07
MPI进阶
自定义数据类型、虚拟拓扑、单边通信 (Put/Get)。
8
08
MPI的痛点
显式数据拷贝、同步开销大、难以适应GPU异构架构。
9
09
GPU计算的兴起
CUDA编程模型与GPU架构简介。
10
10
GPU上的MPI
CUDA-Aware MPI的原理与局限性。
11
11
PGAS模型
分区全局地址空间 (Partitioned Global Address Space) 思想。
12
12
SHMEM简介
对称堆模型与远程内存访问 (RMA) 的起源。
13
13
NVSHMEM诞生
NVIDIA对SHMEM的GPU实现与设计目标。
14
14
NVSHMEM核心概念
对称内存、PE (Processing Element)、Team。
15
15
初始化与终结
nvshmem_init / nvshmem_finalize。
16
16
点对点通信
nvshmem_put/nvshmem_get (阻塞与非阻塞)。
17
17
集合操作
广播、归约、屏障 (barrier_all/broadcast)。
18
18
同步机制
静默 (quiet) 与栅栏 (fence)。
19
19
NVSHMEM信号量
基于信号量的生产者-消费者模式。
20
20
NVSHMEM与CUDA流
异步操作与流多任务 (nvshmemx_put_stream等)。
21
21
内存模型
一致性模型与原子操作 (atomic_fetch_add等)。
22
22
迁移:MPI→NVSHMEM
思维转变:消息传递 → 远程访问。
23
23
性能对比
MPI与NVSHMEM在GPU集群上的延迟与带宽分析。
24
24
混合编程
MPI+NVSHMEM跨节点与节点内通信策略。
25
25
NVSHMEM高级特性
动态共享内存、PE动态创建。
26
26
NVSHMEM生态
与NCCL、cuRAND、cuFFT的协同。
27
27
调试与性能分析
NVSHMEM Profiling工具 (Nsight Systems)。
28
28
典型应用案例
深度学习数据并行、粒子模拟中的NVSHMEM应用。
29
29
未来趋势
NVSHMEM 2.0、CXL与内存语义网络。
30
30
课程总结
如何选择通信模型?从MPI到NVSHMEM的演进启示。