Ubuntu18.04,两块GPU,踩坑记录。

本文探讨了如何在PyTorch中升级CUDA版本至11,并处理'imbalance between GPUs'警告,优化多GPU使用中的batch_size设置,同时解决了lr_scheduler和optimizer顺序问题,以及如何避免GPU过热和指定使用特定GPU。针对不同型号GPU的协作,提供了配置建议和注意事项。
部署运行你感兴趣的模型镜像


电脑配置:

  • 工作站:Dell Precision 5820
  • GPU:一块2080ti,一块3090

刚入手3090,以前一直用的2080ti,都只用来跑深度学习的代码,会不断更新,希望大佬们赐教~


升级CUDA版本

  • 3090只支持CUDA11的,之前一直用的10.2版本,需要更新。

报"imbalance between your GPUs."的警告

  • 报以下warning:

There is an imbalance between your GPUs. You may want to exclude GPU 0 which has less than 75% of the memory or cores of GPU 1. You can do so by setting the device_ids argument to DataParallel, or by setting the CUDA_VISIBLE_DEVICES environment variable.

  • 可以参考这个链接,用下面这行代码。不过我是换了个代码跑,就正常了……
net = nn.DataParallel(model.cuda(), device_ids=[0,1])

pytorch,设置多GPU

关于batch_size的设置

  • 有了多GPU后,batch_size指的是每一块GPU上分配的,所以在设置超参数的时候,只要输入正常的batch_size,不需要batch_size * GPU数,不然可能会报下面这个错:

RuntimeError: CUDA out of memory. Tried to allocate 1.30 GiB (GPU 1; 10.76 GiB total capacity; 6.51 GiB already allocated; 1.18 GiB free; 8.12 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

报UserWarning: Detected call of lr_scheduler.step() before optimizer.step().

  • 报以下warning:

UserWarning: Detected call of lr_scheduler.step() before optimizer.step(). In PyTorch 1.1.0 and later, you should call them in the opposite order: optimizer.step() before lr_scheduler.step(). Failure to do this will result in PyTorch skipping the first value of the learning rate schedule. See more details at https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate

  • 参考这个链接,调换optimizer.step()scheduler.step()的顺序即可

GPU温度

  • 65-75摄氏度为宜,可以用nvidia-smi命令看温度。

指定使用某一块GPU

  • 参考这个链接,在文件开头用下面这行代码:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = 'gpu_id'
  • gpu_id是GPU的ID号,可以在终端里输入nvidia-smi查看。

两块不同型号的GPU是否冲突

  • 参考这个链接,只用来跑深度学习的代码话,框架的版本能匹配两块卡就行。

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think>好的,我现在需要帮助用户在Ubuntu 18.04上检测AMD GPU的使用率。首先,我得回忆一下有哪些工具和方法适用于AMD显卡的监控。用户可能对Linux系统不太熟悉,所以需要提供详细的步骤和可能的工具推荐。 首先,常见的命令行工具有rocm-smi,这是AMD ROCm平台的一部分,用于管理和监控AMD GPU。但需要确认用户是否安装了ROCm。如果用户没有安装,可能需要指导他们如何安装,或者是否有其他替代工具。 另外,Radeon Top也是一个不错的选择,它类似于NVIDIA的nvidia-smi,可以提供详细的GPU使用情况。但需要确认Ubuntu 18.04的软件源中是否包含这个工具,或者是否需要从其他来源安装。 还有glances,这是一个系统监控工具,可能需要额外的插件来支持AMD GPU。可能用户需要安装相关插件,比如用pip安装的扩展。 另外,考虑用户可能希望使用图形界面工具,比如Conky或者GKrellM,这些工具可以配置显示GPU信息,但可能需要额外的设置和依赖。 接下来,我需要分步骤解释每个方法的具体操作。例如,使用rocm-smi的话,需要先安装ROCm,然后运行命令。但安装ROCm可能会比较复杂,特别是对于Ubuntu 18.04来说,可能需要添加源、更新、安装驱动等步骤。如果用户没有安装ROCm,可能需要先指导他们完成这些步骤,或者建议更简单的方法。 Radeon Top可能更直接,但需要确保用户的AMD GPU型号是否被支持。安装的话,可能需要添加PPA或者从源码编译,这对于普通用户来说可能有一定难度。 对于glances,用户可能需要先安装pip,然后安装glances和相关的GPU插件,这需要确保Python环境正确,并且插件是否兼容Ubuntu 18.04。 另外,用户可能没有权限访问GPU设备,这时候需要提醒他们使用sudo或者将自己的用户加入到video组中,避免权限问题。 最后,需要检查这些工具在Ubuntu 18.04上的可用性,因为该版本已经较旧,某些新版本的软件可能不支持,需要寻找适用于18.04的版本或替代方案。例如,ROCm对Ubuntu的支持版本可能更高,可能18.04不在支持列表中,这时候可能需要建议用户升级系统或者寻找其他方法。 总结下来,可能的步骤是: 1. 使用rocm-smi:检查是否安装ROCm,指导安装步骤,然后运行命令。 2. 安装Radeon Top:添加PPA,安装,运行。 3. 使用glances加插件:安装glances和gpu插件。 4. 图形界面工具:Conky配置。 同时需要注意每个方法的潜在问题,比如兼容性、安装难度等,并给出相应的解决方案,比如权限问题,或者替代工具推荐。</think>在Ubuntu 18.04中检测AMD GPU使用率,可通过以下步骤实现: --- ### 方法1:使用 **`rocm-smi`**(推荐) 这是AMD官方ROCm工具包中的GPU管理工具。 1. **安装ROCm** 若未安装,需先添加ROCm源: ```bash wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add - echo 'deb [arch=amd64] http://repo.radeon.com/rocm/apt/debian/ xenial main' | sudo tee /etc/apt/sources.list.d/rocm.list sudo apt update sudo apt install rocm-dkms rocm-smi ``` > 注意:Ubuntu 18.04对应ROCm的`xenial`源,安装后需重启。 2. **查看GPU使用率** ```bash rocm-smi --showuse ``` - 输出示例: ``` GPU  Use (%): 45 % ``` - 其他常用命令: ```bash rocm-smi -P # 显示功耗 rocm-smi -c # 查看核心频率 rocm-smi --showmem # 显示显存使用 ``` --- ### 方法2:使用 **`radeontop`** 这是一个实时监控AMD GPU状态的命令行工具。 1. **安装** ```bash sudo apt update sudo apt install radeontop ``` 2. **运行** ```bash sudo radeontop ``` - 按 <kbd>d</kbd> 切换显示模式,观察`GPU%`字段(百分比越高表示负载越大)。 - 按 <kbd>q</kbd> 退出。 --- ### 方法3:使用 **`glances` + 插件** 1. **安装glances及GPU插件** ```bash sudo apt install python3-pip pip3 install glances[gpu] ``` 2. **运行** ```bash glances ``` - 若GPU信息未显示,按 <kbd>2</kbd> 切换视图。 --- ### 方法4:图形界面工具 **Conky** 1. **安装Conky** ```bash sudo apt install conky-all ``` 2. **配置Conky** 编辑配置文件 `~/.conkyrc`,添加以下内容: ```plaintext ${execpi 5 rocm-smi --showuse | grep "GPU Use" | awk '{print $4}'} ``` - 此配置会每5秒刷新一次GPU使用率。 --- ### 常见问题 1. **权限不足** 将用户加入`video`组: ```bash sudo usermod -aG video $USER ``` 注销后重新登录生效。 2. **ROCm兼容性** Ubuntu 18.04需确认GPU型号是否在[ROCm支持列表](https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#hardware-support)中。 --- ### 总结 - 首选`rocm-smi`(需安装ROCm驱动) - 快速查看用`radeontop` - 图形界面推荐Conky自定义配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值