📘 NVSHMEM + JAX/Flax 分布式训练 · 30章

✨ 友好色系
01
NVSHMEM 是什么 · 与传统 MPI 区别 · 通信模式 (P2P & Collective) · 初始化与终止
02
pmap / shard_map · Sharded Device Array · 集体通信原语 (psum, pmean, all_gather)
03
Linen API 简介 · 分布式环境定义 Flax 模型 · 参数分片策略
04
对称内存分配/释放 · put/get 操作 · 内存 fence 与同步
05
nvshmem_put/get · 非阻塞 (nbi) · 信号量 (Signaling) 操作
06
广播 · 归约/Allreduce · 屏障 · Gather/Allgather 实现
07
shard_map 语义 · PartitionSpec · 与 pmap 对比
08
ctypes/CFFI 调用 C 库 · JIT 嵌入自定义内核 · 数据格式转换
09
自定义 Allreduce 梯度同步 · 替代 pmean · 梯度累积与通信重叠
10
流水线概念 · 微批次划分 · NVSHMEM 跨节点激活传递
11
行/列切分 · Transformer Layer 应用 · 通信与计算 Overlap
12
DDP 瓶颈 · NVSHMEM Allreduce 优化 · Ring Allreduce 实现
13
3D 并行 (数据+张量+流水线) · 通信域划分 · JAX Device Mesh
14
Async Dispatch · 非阻塞操作 & cudaStream · 回调与同步点
15
Nsight Systems · xla_hlo_trace · 识别通信瓶颈
16
NVSHMEM 错误码 · NaN/Inf 检测 · pdb 调试 JIT
17
NVIDIA HPC SDK · 环境变量 · CUDA 兼容性 · IB/RoCE 配置
18
Flax GPT-2 · NVSHMEM 张量并行 · 数据加载与预处理
19
流水线并行 · 梯度检查点 · NVSHMEM 通信优化 · 训练循环
20
Flax Vision Transformer · 数据并行 · 混合精度 AMP
21
Allgather BatchNorm 同步 · 评估/推理通信优化
22
嵌入 CUDA Graph · JAX AOT 编译 · 性能收益分析
23
零拷贝通信 · RDMA 支持 · JAX 缓冲区注册与传输
24
动态形状挑战 · 变长数据处理 · Bucketing 策略
25
NVSHMEM 容错 · JAX Checkpointing · 通信域重建
26
延迟/带宽对比 · 编程模型差异 · 场景选择
27
启动方式 · 内存模型 · 集合通信性能 · JAX 集成难易
28
通信计算重叠 · 内存池管理 · 避免死锁 · 代码模块化
29
NVSHMEM 2.0 · JAX 自定义通信原语 · 大规模 GPU 趋势
30
需求分析 · 架构设计 · 核心模块 (通信/模型/优化器) · 测试部署