前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有bug!PyTorch在AMD CPU的计算机上卡死了

有bug!PyTorch在AMD CPU的计算机上卡死了

作者头像
机器之心
发布2023-03-29 18:14:50
7270
发布2023-03-29 18:14:50
举报
文章被收录于专栏:机器之心

机器之心报道

编辑:小舟、陈萍

AMD,No?PyTorch在AMD CPU的机器上出现死锁了。

PyTorch 作为机器学习中广泛使用的开源框架,具有速度快、效率高等特点。而近年来广受好评的 AMD 处理器具有多核、多任务性能良好、性价比高等优势。开发者们一直希望二者联合起来,在 AMD 处理器上使用 PyTorch 进行深度学习的开发和研究。

前段时间发布的 PyTorch 1.8 新增了对 AMD ROCm 的支持,对于想在 AMD 上用 PyTorch 进行深度学习的开发者来说,这是一个好消息。 

但是,对使用 AMD cpu 的开发者用 PyTorch 做 AI 开发,也许没那么顺利。

这不,我们就从 PyTorch 的 Github 上发现这么一个还未解决的 issue。

GitHub 地址:https://github.com/pytorch/pytorch/issues/52142

有开发者表示:PyTorch 在 AMD CPU 的计算机上,用数据并行单机和多 GPU 训练 CNN 会导致死锁,而相同的代码在 Intel CPU 的计算机中就不会出现死锁。TensorFlow 也不会出现这种问题。

遇到了什么 bug

让我们来具体看一下这个死锁是怎么产生的?

在提交的 Issue 中,开发者表述在训练的 for 循环中,代码会一直运行,直到前向传播 output = model(images)。代码会一直停留在 model(images)阶段,而 gpu 的利用率为 0% (内存占用率不是 0),有 3 个 cpu 核的利用率达到 100%,而其他 cpu 核为 0%。使用 ctrl+c 和 ctrll+z 停止后,进程 PID 和 GPU 内存使用情况保持不变。kill 、pkill 和 fuser -k /dev/nvidia * 命令导致僵尸进程(也称为 Defunct 进程)。僵尸进程的父进程 pid 为 1,因此不能 kill 它。唯一的解决办法是重新启动系统。

代码在 3 台 Intel cpu 计算机上运行良好,但在 4 台使用 AMD cpu 的机器上就会出现上述问题。开发者进一步测试了 GTX 1080、Titan V、 Titan RTX、Quadro RTX 8000 和 RTX 3090,证明该 bug 与 GPU 模型无关。

此外,该项目还提到分布式数据并行(DDP)也存在类似的问题。

感兴趣的开发者可以按照如下配置复现一下这个 bug:

  • 使用带有 AMD cpu 和多个 NVIDIA gpu 的机器;
  • Linux、Python3.8、cuda 11.0、pytorch 1.7.1、 torchvision 0.8.2;
  • 编写代码在 torchvision 中训练 resnet18 模型;
  • 可以尝试测试数据并行 (DP) 和分布式数据并行(DDP),以检查是否都会出现这种情况。

根据该项目的描述,复现之后可能会出现:

  • 当使用 AMD cpu 时,在训练的第一个 epoch 和第一次迭代的前向传播时会发生死锁;
  • 当使用 intel cpu 时,相同的代码运行良好。

尚未解决

对于这次发现的 bug,有网友表示也存在相同的问题。

发现该 bug 的研究者在 ImagNet、mini ImageNet、 CIFAR 10 以及其他数据集上进行了实验,由于 CIFAR 10 具有轻量级、利于调试的特点,因此开发者在 CIFAR 10 上给出了相应的代码示例:

此外,有开发者表示使用 TensorFlow 则不会出现该 bug。

提交 Issue 后,PyTorch 运维团队的成员也留言参与了讨论,在被问到「测试阶段是否包含使用 AMD CPU 的用例」时,该成员表示:「在和其他队友讨论之后,我们意识到测试中没有涉及 AMD CPU 的用例,目前我们还没有办法重现这个问题。如果今年晚些时候我们通过支持更多的硬件类型改进了测试环境,将重新讨论这个问题。」

此前有网友发现了 AMD cpu 下 PyTorch 多卡并行卡死的问题,查看日志之后找到错误原因,问题才得以解决。而这次暴露的 bug 目前仍未解决。

参考链接:

https://github.com/pytorch/pytorch/issues/52142

https://blog.csdn.net/aakwnam6338/article/details/101270942

建新·见智 —— 2021亚马逊云科技 AI 在线大会

4月22日 14:00 - 18:00

大会包括主题演讲和六大分会场。内容涵盖亚马逊机器学习实践揭秘、人工智能赋能企业数字化转型、大规模机器学习实现之道、AI 服务助力互联网快速创新、开源开放与前沿趋势、合作共赢的智能生态等诸多话题。

亚马逊云科技技术专家以及各个行业合作伙伴将现身说法,讲解 AI/ML 在实现组织高效运行过程中的巨大作用。每个热爱技术创新的 AI/ML 的爱好者及实践者都不容错过。

识别二维码或点击阅读原文,免费报名看直播。

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档