在 Ubuntu 23.10、RTX 3080ti 中进行 CUDA 训练期间频繁冻结

问题描述 投票:0回答:1

我是一位致力于深度学习模型的初创公司创始人。与过去几周相比, 在整个训练过程中,我经历过频繁的卡顿。系统死机,即使使用 REISUB 通常也无法恢复。我必须手动 关闭计算机。极少数情况下,甚至会在启动后几秒钟冻结(不可重现)。

我需要向客户提供更新的深度学习模型,所以个人压力很大。感谢您的支持..

由于我之前已经成功训练过模型,我预计软件包、ubuntu 版本或 nvidia 驱动程序会出现问题。 (使用 ppa:图形驱动程序)

当问题最初出现时,我尝试了所有可用的 nvidia 驱动程序,但没有成功(例外:我从未设法让 nouveau 驱动程序工作)。 然后我决定从 ubuntu 22.04 LTS 迁移到 23.10。在整个那个阶段, mutter 包(版本 ~46)存在一个普遍的问题,这是我预料到的 有过错。虽然它确实导致我的控制台变慢,但根据解决了咕咕声问题 链接(https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2059847)并没有解决冻结问题。 然后我筛选了很多帖子和帖子,也没有解决。

GPU: 我使用 Nvidia RTX 3080ti,连接了三个显示器和双启动(Windows 和 Ubuntu)。 目前,我使用 nvidia-driver-535 和 nvidia-firmware-535-535.171.04。

nvidia-smi
提供:

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.171.04             Driver Version: 535.171.04   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3080 Ti     Off | 00000000:01:00.0  On |                  N/A |
|  0%   44C    P8              63W / 350W |    316MiB / 12288MiB |     20%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      2070      G   /usr/lib/xorg/Xorg                          153MiB |
|    0   N/A  N/A      2252      G   /usr/bin/gnome-shell                        155MiB |
+---------------------------------------------------------------------------------------+

/etc/modprobe.d/nvidia-graphics-drivers-kms.conf:
    # This file was generated by nvidia-driver-535
    # Set value to 0 to disable modesetting
    options nvidia-drm modeset=0

操作系统: 乌班图23.10 内核 6.5.0-35-generic

gcc --version
: 13.2.0

深度学习: 我使用 Python 3.11.4、Pytorch 并使用 CUDA 进行训练。整个训练过程中还有足够的 GPU 内存。

记录: 我在培训期间进行了广泛的记录,以尝试查明问题发生的位置。没有 明显的触发。直观上,它最常发生在从 CPU 加载数据、将其推送到 GPU (CUDA) 之间 并且问题出现在整个反向传播的某个地方。

一些帖子建议更新 nvidia-settings (PowerMizer) 以设置“首选最大性能”, 所以我通常在开始培训计划之前使用它。

我已使用“watch -n 1 free -m”搜索(并纠正)了内存泄漏。没有 泄漏,并且当发生冻结时交换区未被使用。我的结论是排除内存问题。

我使用Xorg,wayland被禁用。我从来没有尝试过相反的方式。

正如有人建议的那样,我尝试过使用单个显示器(无 HDMI)。这似乎也不起作用。

dmesg --level=emerg,alert,crit,err
[    0.150278] x86/cpu: SGX disabled by BIOS.

根据网上的帖子,我应该在BIOS中启用SGX。这可能有关系吗?

ubuntu pytorch nvidia
1个回答
0
投票

我面临同样的问题,我的解决方法是使用相同的硬件在 Windows 上安装 CUDA 12.1,一切正常(因为你需要这个来工作,如果可能比尝试使用 ubuntu 找到解决方案更快)

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.