NVSHMEM · PGAS 从零上手
📘 30 章 · 分区全局地址空间
01
NVSHMEM 是什么
起源
PGAS
GPU集群
02
环境准备
硬件
CUDA
NVSHMEM
03
第一个 NVSHMEM 程序
init/finalize
PE
Hello
04
对称内存与 PE 通信
nvshmem_malloc
put/get
barrier
05
分区全局地址空间 (PGAS) 详解
对称堆
私有堆
地址映射
06
点对点通信 (P2P)
put/get
阻塞/非阻塞
signal
07
集合通信 (Collective)
Broadcast
Reduce
Alltoall
08
同步机制
barrier
sync
Lock/原子
09
原子操作
fetch_add
compare_swap
位操作
10
团队 (Team) 概念
默认团队
自定义
集合操作
11
内存模型与一致性
flush/quiet
内存排序
12
流 (Stream) 与异步操作
CUDA流
异步put/get
事件
13
多 GPU 编程基础
单节点多GPU
协同
数据分布
14
多节点编程
跨节点
InfiniBand
拓扑感知
15
性能调优基础
带宽/延迟
通信模式
竞争
16
调试与 Profiling
Nsight
调试工具
错误排查
17
高级通信模式
Pipeline
生产者-消费者
负载均衡
18
NVSHMEM 与 MPI 混合编程
MPI+NVSHMEM
数据交换
对比
19
NVSHMEM 与 NCCL 对比
适用场景
性能差异
选型
20
自定义缩减操作
custom_reduce
用户函数
类型
21
非连续数据通信
strided
索引数组
子数组
22
内存池管理
对称内存池
动态扩展
碎片
23
错误处理与健壮性
错误码
异常恢复
超时
24
NVSHMEM 在深度学习中的应用
数据并行
模型并行
梯度同步
25
NVSHMEM 在科学计算中的应用
有限差分
粒子模拟
矩阵乘法
26
NVSHMEM 与 CUDA Graphs
图捕获
重放
性能
27
多进程服务 (MPS) 与 NVSHMEM
MPS配置
共享上下文
性能
28
NVSHMEM 未来展望
2.0新特性
Grace Hopper
社区
29
综合实战:分布式归约求和
需求分析
代码实现
性能测试
30
综合实战:分布式矩阵乘法
分块策略
通信优化
结果验证