PyTorch 1.0 中文文档:torch.distributed
译者:univeryinli
后端
torch.distributed
支持三个后端,每个后端具有不同的功能。下表显示哪些功能可用于CPU/CUDA张量。仅当用于构建PyTorch的实现支持时,MPI才支持CUDA。
后端 |
gloo
|
mpi
|
nccl
|
---|---|---|---|
设备 | CPU | GPU | CPU |
— | — | — | — |
发送 | ✓ | ✘ | ✓ |
接收 | ✓ | ✘ | ✓ |
广播 | ✓ | ✓ | ✓ |
all_reduce | ✓ | ✓ | ✓ |
reduce | ✓ | ✘ | ✓ |
all_gather | ✓ | ✘ | ✓ |
收集 | ✓ | ✘ | ✓ |
分散 | ✓ | ✘ | ✓ |
屏障 | ✓ | ✘ | ✓ |
PyTorch附带的后端
目前PyTorch分发版仅支持Linux。默认情况下,Gloo和NCCL后端构建并包含在PyTorch的分布之中(仅在使用CUDA构建时为NCCL)。MPI是一个可选的后端,只有从源代码构建PyTorch时才能包含它。(例如,在安装了MPI的主机上构建PyTorch)
哪个后端使用?
在过去,我们经常被问到:“我应该使用哪个后端?”。
- 经验法则
- 使用NCCL后端进行分布式 GPU 训练。
- 使用Gloo后端进行分布式 CPU 训练。
- 具有InfiniBand互连的GPU主机
- 使用NCCL,因为它是目前唯一支持InfiniBand和GPUDirect的后端。
- GPU主机与以太网互连
- 使用NCCL,因为它目前提供最佳的分布式GPU训练性能,特别是对于多进程单节点或多节点分布式训练。如果您遇到NCCL的任何问题,请使用Gloo作为后备选项。(请注意,Gloo目前运行速度比GPU的NCCL慢。)
阅读全文/改进本文
PyTorch 1.0 中文文档:torch.distributed相关推荐
- PyTorch 1.0 中文文档:torch.sparse
译者:hijkzzz 警告 这个API目前还处于试验阶段,可能在不久的将来会发生变化. Torch支持COO(rdinate )格式的稀疏张量,这可以有效地存储和处理大多数元素为零的张量. 稀疏张量表 ...
- PyTorch 1.0 中文文档正式接受校对 | ApacheCN
参与方式:https://github.com/apachecn/pytorch-doc-zh/blob/master/CONTRIBUTING.md 整体进度:https://github.com/ ...
- PyTorch 1.0 中文文档:torch.onnx
译者:guobaoyo 示例:从Pytorch到Caffe2的端对端AlexNet模型 这里是一个简单的脚本程序,它将一个在 torchvision 中已经定义的预训练 AlexNet 模型导出到 O ...
- PyTorch 1.0 中文文档:torch.hub
译者:kunwuz torch.hub.load(github, model, force_reload=False, *args, **kwargs) 从github上加载一个带有预训练权重的模型. ...
- PyTorch 1.0 中文文档:torch.utils.bottleneck
译者: belonHan torch.utils.bottleneck是 调试瓶颈bottleneck时首先用到的工具.它总结了python分析工具与PyTorch自动梯度分析工具在脚本运行中情况. ...
- PyTorch 1.0 中文文档:Torch 脚本
译者:keyianpai 创建 Torch 脚本代码 将追踪和脚本化结合起来 Torch 脚本语言参考 类型 表达式 语句 变量解析 python值的使用 调试 内置函数 Torch脚本是一种从PyT ...
- PyTorch 1.0 中文文档:torch.autograd
译者:gfjiangly torch.autograd 提供类和函数,实现任意标量值函数的自动微分. 它要求对已有代码的最小改变-你仅需要用requires_grad=True关键字为需要计算梯度的声 ...
- PyTorch 1.0 中文文档:torch.nn.init
译者:GeneZC torch.nn.init.calculate_gain(nonlinearity, param=None) 返回给定非线性函数的推荐的增益值.对应关系如下表: 非线性函数 增益 ...
- PyTorch 1.0 中文文档:torch.utils.model_zoo
译者:BXuan694 torch.utils.model_zoo.load_url(url, model_dir=None, map_location=None, progress=True) 由给 ...
最新文章
- 互联网高薪的原因、现状、未来,还值不值得进来?
- python爬虫项目实例-Python爬虫实例项目
- 解决无法将类型为“System.Web.UI.WebControls.HiddenField”的对象强制转换为类型的错误...
- ubuntu下部署eclipse集成hadoop\android\web\GCC开发环境小记
- MongoDB安装和启动
- Linux系统\Centos没有网卡eth0配置文件怎么办?
- elasticsearch 6.x.x 获取客户端方法
- 判断上三角矩阵_线性代数15——矩阵空间\对角矩阵\和秩1矩阵
- 带有毫秒 转换日期_【Java学习笔记(七)】之日期类的介绍
- Eclipse学习笔记——快捷键
- 原生Android开发自学过程(二)之TextView基础属性
- 使用scrapy爬取dota2贴吧数据并进行分析
- element-UI中分页组件显示英文的解决方案
- 1133_SICP开发环境搭建
- 行人属性识别 PETA数据集
- 按关键词搜索商品 淘宝API
- 火焰识别python_五行属火的字大全
- IL2CPP 构建大小优化
- 如何打开一个嵌在PC端应用的web窗口的控制台?
- matlab将图片转成eps,【MATLAB】论文图片处理(各种数据图转换成eps格式)
热门文章
- (03)FPGA发展前景
- (81)Verilog HDL:状态机一段式
- (35)FPGA面试题FPGA工程师努力的方向
- linux下dds软件,【数据库】Linux 单实例环境下实现Oracle数据库和DDS软件的开机自动重启...
- java sql 排序_JAVA像SQL一样对List对象集合进行排序
- linux创建虚拟账号,linux vsftpd 创建虚拟用户 过程记录
- IP协议(RFC791)-IP包格式
- 从程序员到项目经理(五):程序员加油站 -- 不是人人都懂的学习要点
- pthread_cond_signal函数《代码》--生产者与消费者
- 线程控制、如何给面试官描述线程不安全的情况?模拟黄牛抢票展现不安全的情况及解决方式、互斥锁加锁解锁