首页 > 其他分享 >PyTorch 1.0 中文文档:torch.distributed

PyTorch 1.0 中文文档:torch.distributed

时间:2023-05-05 11:31:56浏览次数:41  
标签:NCCL 1.0 Gloo torch distributed PyTorch GPU 后端 分布式


译者: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慢。)

阅读全文/改进本文


标签:NCCL,1.0,Gloo,torch,distributed,PyTorch,GPU,后端,分布式
From: https://blog.51cto.com/wizardforcel/6245149

相关文章

  • Pytorch-模型的保存/复用/迁移
    模型的保存与复用模型定义和参数打印#定义模型结构classLenNet(nn.Module):def__init__(self):super(LenNet,self).__init__()self.conv=nn.Sequential(#[batch,1,28,28]nn.Conv2d(1,8,5,2),#[batch,1,28,28]......
  • 无CUDA安装PyTorch
    1.官网选择2.加国内镜像快速下载pip3installtorchtorchvisiontorchaudio-ihttps://pypi.tuna.tsinghua.edu.cn/simple3.验证是否安装成功importtorchprint(torch.__version__)......
  • 超越 PyTorch 和 TensorFlow,这个国产框架有点东西
    By超神经内容概要:都已经有这么多深度学习框架了,为什么还要搞个OneFlow?在机器学习领域,袁进辉看的比90%的人都长远。 关键词:开源  深度学习框架  OneFlow在深度学习领域,PyTorch、TensorFlow等主流框架,毫无疑问占据绝大部分市场份额,就连百度这样级别的公司,也是花费了大量......
  • windows 配置 cuda pytorch
    1.进入 https://pytorch.org,依次选择 PyTorchBuild->YourOS->Package->Language->ComputePlatform,然后会生成安装命令或下载链接,执行或下载安装即可如果没有GPU,ComputePlatform选CPU即可  对于CUDA版本,可以执行cmd命令查看本地显卡支持的版本:nvidia-smi......
  • DB - HDFS (Hadoop Distributed File System)
    HadoopDistributedFileSystem,简称HDFS,是一个分布式文件系统。 HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。 HDFS放宽了(r......
  • 【2023 · CANN训练营第一季】昇腾AI入门Pytorch
    昇腾AI全栈架构华为AI全栈全场景解决方案为4层,分别为芯片层、芯片使能层、AI框架层和应用使能层。芯片基于统一、可扩展架构的系列化AIIP和芯片,为上层加速提供硬件基础。芯片产品:昇腾310和昇腾910的独立芯片,Nano-Tiny-Lite的非独立芯片。Ascend层,一切集成电路的核心,主要作用......
  • pytorch模型降低计算成本和计算量
    下面是如何使用PyTorch降低计算成本和计算量的一些方法:压缩模型:使用模型压缩技术,如剪枝、量化和哈希等方法,来减小模型的大小和复杂度,从而降低计算量和运行成本。分布式训练:使用多台机器进行分布式训练,可以将模型训练时间大大缩短,提高训练效率,同时还可以降低成本。硬件加......
  • 【pytorch】为什么 ToTensor 后紧接 Normalize 操作?
    学习pytorch的transforms一节中产生疑问:ToTensor操作中图像数据满足[0,255]条件会进行线性归一化,映射到[0,1]。在ToTensor操作后一般紧接着Nomalize操作,又进行了一次标准差归一化。既然已经归一化了一次,为什么还要再来一次?以下是我在网络上找到的一些答案:数据如果......
  • 【pytorch】土堆pytorch教程学习(四)Transforms 的使用
    transforms在工具包torchvision下,用来对图像进行预处理:数据中心化、数据标准化、缩放、裁剪、旋转、翻转、填充、噪声添加、灰度变换、线性变换、仿射变换、亮度/饱和度/对比度变换等。transforms本质就是一个python文件,相当于一个工具箱,里面包含诸如Resize、ToTensor、Nor......
  • 医学图像的深度学习的完整代码示例:使用Pytorch对MRI脑扫描的图像进行分割
    图像分割是医学图像分析中最重要的任务之一,在许多临床应用中往往是第一步也是最关键的一步。在脑MRI分析中,图像分割通常用于测量和可视化解剖结构,分析大脑变化,描绘病理区域以及手术计划和图像引导干预,分割是大多数形态学分析的先决条件。本文我们将介绍如何使用QuickNAT对人脑的......