自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

有bug!PyTorch在AMD CPU的計(jì)算機(jī)上卡死了

新聞 機(jī)器學(xué)習(xí)
AMD,No?PyTorch在AMD CPU的機(jī)器上出現(xiàn)死鎖了。

 

PyTorch 作為機(jī)器學(xué)習(xí)中廣泛使用的開(kāi)源框架,具有速度快、效率高等特點(diǎn)。而近年來(lái)廣受好評(píng)的 AMD 處理器具有多核、多任務(wù)性能良好、性價(jià)比高等優(yōu)勢(shì)。開(kāi)發(fā)者們一直希望二者聯(lián)合起來(lái),在 AMD 處理器上使用 PyTorch 進(jìn)行深度學(xué)習(xí)的開(kāi)發(fā)和研究。

前段時(shí)間發(fā)布的 PyTorch 1.8 新增了對(duì) AMD ROCm 的支持,對(duì)于想在 AMD 上用 PyTorch 進(jìn)行深度學(xué)習(xí)的開(kāi)發(fā)者來(lái)說(shuō),這是一個(gè)好消息。

但是,對(duì)使用 AMD cpu 的開(kāi)發(fā)者用 PyTorch 做 AI 開(kāi)發(fā),也許沒(méi)那么順利。

這不,我們就從 PyTorch 的 Github 上發(fā)現(xiàn)這么一個(gè)還未解決的 issue。

有bug!PyTorch在AMD CPU的計(jì)算機(jī)上卡死了

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

有開(kāi)發(fā)者表示:PyTorch 在 AMD CPU 的計(jì)算機(jī)上,用數(shù)據(jù)并行單機(jī)和多 GPU 訓(xùn)練 CNN 會(huì)導(dǎo)致死鎖,而相同的代碼在 Intel CPU 的計(jì)算機(jī)中就不會(huì)出現(xiàn)死鎖。TensorFlow 也不會(huì)出現(xiàn)這種問(wèn)題。

遇到了什么 bug

讓我們來(lái)具體看一下這個(gè)死鎖是怎么產(chǎn)生的?

在提交的 Issue 中,開(kāi)發(fā)者表述在訓(xùn)練的 for 循環(huán)中,代碼會(huì)一直運(yùn)行,直到前向傳播 output = model(images)。代碼會(huì)一直停留在 model(images)階段,而 gpu 的利用率為 0% (內(nèi)存占用率不是 0),有 3 個(gè) cpu 核的利用率達(dá)到 100%,而其他 cpu 核為 0%。使用 ctrl+c 和 ctrll+z 停止后,進(jìn)程 PID 和 GPU 內(nèi)存使用情況保持不變。kill 、pkill 和 fuser -k /dev/nvidia * 命令導(dǎo)致僵尸進(jìn)程(也稱(chēng)為 Defunct 進(jìn)程)。僵尸進(jìn)程的父進(jìn)程 pid 為 1,因此不能 kill 它。唯一的解決辦法是重新啟動(dòng)系統(tǒng)。

代碼在 3 臺(tái) Intel cpu 計(jì)算機(jī)上運(yùn)行良好,但在 4 臺(tái)使用 AMD cpu 的機(jī)器上就會(huì)出現(xiàn)上述問(wèn)題。開(kāi)發(fā)者進(jìn)一步測(cè)試了 GTX 1080、Titan V、 Titan RTX、Quadro RTX 8000 和 RTX 3090,證明該 bug 與 GPU 模型無(wú)關(guān)。

此外,該項(xiàng)目還提到分布式數(shù)據(jù)并行(DDP)也存在類(lèi)似的問(wèn)題。

感興趣的開(kāi)發(fā)者可以按照如下配置復(fù)現(xiàn)一下這個(gè) bug:

使用帶有 AMD cpu 和多個(gè) NVIDIA gpu 的機(jī)器;

Linux、Python3.8、cuda 11.0、pytorch 1.7.1、 torchvision 0.8.2;

編寫(xiě)代碼在 torchvision 中訓(xùn)練 resnet18 模型;

可以嘗試測(cè)試數(shù)據(jù)并行 (DP) 和分布式數(shù)據(jù)并行(DDP),以檢查是否都會(huì)出現(xiàn)這種情況。

根據(jù)該項(xiàng)目的描述,復(fù)現(xiàn)之后可能會(huì)出現(xiàn):

當(dāng)使用 AMD cpu 時(shí),在訓(xùn)練的第一個(gè) epoch 和第一次迭代的前向傳播時(shí)會(huì)發(fā)生死鎖;

當(dāng)使用 intel cpu 時(shí),相同的代碼運(yùn)行良好。

尚未解決

對(duì)于這次發(fā)現(xiàn)的 bug,有網(wǎng)友表示也存在相同的問(wèn)題。

有bug!PyTorch在AMD CPU的計(jì)算機(jī)上卡死了

發(fā)現(xiàn)該 bug 的研究者在 ImagNet、mini ImageNet、 CIFAR 10 以及其他數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),由于 CIFAR 10 具有輕量級(jí)、利于調(diào)試的特點(diǎn),因此開(kāi)發(fā)者在 CIFAR 10 上給出了相應(yīng)的代碼示例:

有bug!PyTorch在AMD CPU的計(jì)算機(jī)上卡死了

此外,有開(kāi)發(fā)者表示使用 TensorFlow 則不會(huì)出現(xiàn)該 bug。

提交 Issue 后,PyTorch 運(yùn)維團(tuán)隊(duì)的成員也留言參與了討論,在被問(wèn)到「測(cè)試階段是否包含使用 AMD CPU 的用例」時(shí),該成員表示:「在和其他隊(duì)友討論之后,我們意識(shí)到測(cè)試中沒(méi)有涉及 AMD CPU 的用例,目前我們還沒(méi)有辦法重現(xiàn)這個(gè)問(wèn)題。如果今年晚些時(shí)候我們通過(guò)支持更多的硬件類(lèi)型改進(jìn)了測(cè)試環(huán)境,將重新討論這個(gè)問(wèn)題?!?/p>

有bug!PyTorch在AMD CPU的計(jì)算機(jī)上卡死了

此前有網(wǎng)友發(fā)現(xiàn)了 AMD cpu 下 PyTorch 多卡并行卡死的問(wèn)題,查看日志之后找到錯(cuò)誤原因,問(wèn)題才得以解決。而這次暴露的 bug 目前仍未解決。

 

責(zé)任編輯:張燕妮 來(lái)源: 機(jī)器之心Pro
相關(guān)推薦

2019-03-18 10:30:10

量子芯片網(wǎng)絡(luò)

2011-11-07 14:52:14

AMDInterlagos超級(jí)計(jì)算機(jī)

2009-02-18 22:27:45

限制域中賬戶計(jì)算機(jī)腳本

2021-05-18 16:07:59

Windows 10Windows微軟

2023-03-02 07:49:38

2010-06-22 13:11:18

超級(jí)計(jì)算機(jī)未來(lái)

2025-01-08 08:00:00

2018-07-09 14:30:32

Windows 10WindowsHTTP錯(cuò)誤

2021-08-04 15:19:39

量子計(jì)算計(jì)算機(jī)量子軟件

2009-01-12 09:37:56

AMD云計(jì)算Fusion

2021-05-07 15:04:54

漏洞網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2023-09-07 14:04:58

計(jì)算機(jī)CPU內(nèi)存

2023-08-02 09:28:28

計(jì)算機(jī)性能CPU

2016-12-01 14:34:00

2014-10-28 14:16:30

Bug類(lèi)型歷史

2010-02-07 09:55:14

2021-04-24 20:53:04

Linux發(fā)行版

2021-05-14 11:20:09

Linux計(jì)算機(jī)發(fā)行版

2019-12-11 13:24:57

深度學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)軟件

2021-06-11 07:26:16

操作系統(tǒng)內(nèi)存管理Cpu
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)