[源码解析] PyTorch 分布式(2) ----- DataParallel(上) 目录 [源码解析] PyTorch 分布式(2) ----- DataParallel(上) 0x00 摘要 0x01 综述 1.1 从流程上看 1.2 从模式角度看 1.3 从操作系统角度看 1.4 低效率 0x02 综述 2.1 示例 2.2 相关知识 0x03 定义 3.1 定义 3.2 负载均衡 0x04 前向传播 4.1 总述 4.2 分发(输入) 4.2.1 scatter_kwargs 4.2.…
[源码解析] PyTorch 分布式(3) ----- DataParallel(下) 目录 [源码解析] PyTorch 分布式(3) ----- DataParallel(下) 0x00 摘要 0x01 前向操作 1.1 并行 1.2 Gather 1.2.1 Python世界 1.2.2 C++世界 0x02 计算损失 0x03 后向传播 3.1 分发梯度 3.1.1 Gather.backward 3.1.2 Scatter 3.1.3 C++ 3.2 并行后向传播 3.3 归并梯度 3…
[源码解析] PyTorch 分布式 Autograd (5) ---- 引擎(上) 目录 [源码解析] PyTorch 分布式 Autograd (5) ---- 引擎(上) 0x00 摘要 0x01 支撑系统 1.1 引擎入口 1.2 SendRpcBackward 1.2.1 剖析 1.2.2 定义 1.2.3 构建 1.2.4 grads_ 0x02 定义 2.1 定义 2.2 单例 2.3 重要注释 2.3.1 成员变量 2.3.2 构建 2.3.3 GPU to CPU contin…
[源码解析] PyTorch 分布式(4)------分布式应用基础概念 目录 [源码解析] PyTorch 分布式(4)------分布式应用基础概念 0x00 摘要 0x01 基本概念 0x02 设计思路 2.1 通信需求 2.2 概念 0x03 设置 0x04 点对点通信 0x05 集合通信 0x06 分布式训练 0x07 Ring-Allreduce 0x08 高级主题 8.1 通信后端 8.1.1 后端种类 8.1.2 使用哪个后端? 8.1.3 Gloo 后端 8.1.4 MPI后端…
[源码解析] PyTorch 分布式(5) ------ DistributedDataParallel 总述&如何使用 目录 [源码解析] PyTorch 分布式(5) ------ DistributedDataParallel 总述&如何使用 0x00 摘要 0x01 数据并行 0x02 DDP 运行逻辑 0x03 VS DataParallel 3.1 本质区别 3.2 实现区别 0x04 使用 4.1 基本示例 4.1.1 设置进程组 4.1.2 简单模型 4.1.3 处理速度偏…
[源码解析] PyTorch分布式(6) ---DistributedDataParallel -- 初始化&store 目录 [源码解析] PyTorch分布式(6) ---DistributedDataParallel -- 初始化&store 0x00 摘要 0x01 回顾 1.1 基本概念 1.2 初始化进程组 0x02 初始化 2.1 初始化方法 2.2 init_method VS store 2.3 rendezvous 2.4 小结 0x03 Store 3.1 _rend…
[源码解析] PyTorch 分布式(7) ----- DistributedDataParallel 之进程组 目录 [源码解析] PyTorch 分布式(7) ----- DistributedDataParallel 之进程组 0x00 摘要 0x01 回顾 1.1 基础概念 1.2 初始化进程组 0x02 概念与设计 2.1 功能 2.2 本质 0x03 使用 0x04 构建 4.1 Python 世界 4.1.1 rendezvous 4.1.2 _new_process_group_…
[源码解析] PyTorch 分布式(8) -------- DistributedDataParallel之论文篇 目录 [源码解析] PyTorch 分布式(8) -------- DistributedDataParallel之论文篇 0x00 摘要 0x01 原文摘要 0x02 引论 2.1 挑战 2.2 实现和评估 0x03 背景 3.1 PyTorch 3.2 数据并行 3.3 AllReduce 0x04 系统设计 4.1 API 4.2 梯度规约 4.2.1 A Naive So…
[源码解析] PyTorch 分布式(9) ----- DistributedDataParallel 之初始化 目录 [源码解析] PyTorch 分布式(9) ----- DistributedDataParallel 之初始化 0x00 摘要 0x01 综述 1.1 数据并行 1.2 DDP架构 1.2.1 分布式数据并行 1.2.2 进程 1.3 DDP 总体实现 0x02 初始化 2.1 __init__ 2.2 构建参数 2.2.1 _build_params_for_reducer…
[源码解析] PyTorch 分布式(10)------DistributedDataParallel之Reducer静态架构 目录 [源码解析] PyTorch 分布式(10)------DistributedDataParallel之Reducer静态架构 0x00 摘要 0x01 引论 1.1 调用 0x02 Reducer 定义 0x03 Bucket 3.1 设计 3.2 定义 3.2.1 BucketReplica有几个 3.2.2 关键 3.2.3 具体定义 3.3 设置 0x03…