pytorch分布式训练卡住,显卡占用100

devtools/2024/9/24 9:35:13/

1、问题

        使用pytorch进行分布式训练,一机多卡,采用 DistributedDataParallel 方式,多次执行卡在了同一个地方。但是单卡和 DataParallel 方式都没有卡住的现象。

执行nvidia-smi,此时全部GPU利用率均为100%:

2、debug大法(print)

逐一print后发现,卡住的地方有个进程没有执行:

因为我用了4个进程4张卡,卡住的地方只打印了3个,于是考虑进程同步问题。

3、方案

        在每轮epoch结束后添加进程同步,虽然底层原因暂不清楚,但是问题得以解决。

        该方法仅提供一个解决思路,读者还需根据自身情况分析。


http://www.ppmy.cn/devtools/92453.html

相关文章

缓冲字符流、文件字符流

BufferedInputStream 字节缓冲输入流: 1.是一个高级流,内部维护一个缓冲区,默认8KB 2.读取文件数据时一次性尽可能读取到缓冲区大小的字节 3.read方法从缓冲区获取数据:当缓冲区全部读完,会再次从磁盘上读取数据存…

前端实现文件下载常用几种方式

项目中前端下载一般分为两种情况: 后端直接提供一个文件地址,通过浏览器打开就可以下载。需要发送请求,后端返回二进制流数据,前端解析流数据,生成URL实现下载。 前端对应的实质是a标签和Blob文件下载,这…

.gitignore 忽略文件不生效如何处理?

近期因为写了一个自动打包发布脚本,需要再项目中增加一个 uses.ts 文件,里面记录了用户名、密码、服务器地址、文件夹等等信息,虽然确实是方便了很多,但是跑完流程后,发现这样会有安全问题,太多关键信息上传…

微信小程序【五】摇骰子

摇骰子 一、dice.js二、dice.json三、dice.wxml四、dice.wxss 效果简述:点击设置“骰子个数”,喝一杯前,先摇一摇。 骰子图片命名示例: 1.png、2.png 一、dice.js Page({data: {numDice: 1, // 初始化骰子数diceImages: [],dic…

安装 Zookeeper

安装 Zookeeper 安装 Zookeeper cd /opt tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz mv apache-zookeeper-3.5.7-bin /opt/zookeeper//修改配置文件 cd /opt/zookeeper/conf/ cp zoo_sample.cfg zoo.cfgvim zoo.cfg tickTime2000 #通信心跳时间,Zookeeper服务…

记一次 .NET某智慧出行系统 CPU爆高分析

一:背景 1. 讲故事 前些天有位朋友找到我,说他们的系统出现了CPU 100%的情况,让你帮忙看一下怎么回事?dump也拿到了,本想着这种情况让他多抓几个,既然有了就拿现有的分析吧。 二:WinDbg 分析…

接口隔离原则

接口隔离原则 接口隔离原则就是客户端不应该依赖它不需要的接口,或者说类间的依赖关系应该建立在最小的接口上。 我们以搜索美女为例,设计了如下的类图: 源代码如下。美女及其实现类: 搜索程序及其子类源代码如下: 最…

什么是前端微服务,有何优势

随着互联网技术的发展,传统的单体应用架构已经无法满足复杂业务场景的需求。微服务架构的兴起为后端应用的开发和部署提供了灵活性和可扩展性。与此同时,前端开发也经历了类似的演变,前端微服务作为一种新兴的架构模式应运而生。 一、前端微服…