一、介绍
在进行深度学习模型训练和推理过程中,我们常常需要借助GPU的强大计算能力。但是,GPU的使用率往往会受到各种因素的影响,例如:代码实现、数据集大小、GPU性能等等。因此,了解如何查看GPU使用率能够更好地帮助我们调试优化模型。
二、查看GPU使用率
下面我们将介绍多种方法查看GPU使用率:
1. nvidia-smi命令
在Linux和Windows操作系统下,我们可以通过使用nvidia-smi命令来查看GPU的使用情况。
nvidia-smi
该命令会输出以下信息:
+------------------------------------------------------+ | NVIDIA-SMI 470.63.01 Driver Version: 470.63.01 | |-------------------------------+----------------------+----------------------+ | 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 ... Off | 00000000:01:00.0 On | N/A | | 30% 30C P8 2W / 40W | 406MiB / 4040MiB | 2% Default | | | | N/A | +-------------------------------+----------------------+----------------------+
从上述信息中我们可以看到以下内容:
- GPU序号:本例中是0号GPU;
- GPU名称:本例中是NVIDIA GeForce …;
- 运行状态:本例中是Off,表示GPU没有进行计算任务;
- 温度:本例中是30℃;
- 性能:本例中是P8;
- 功率:本例中是2W / 40W;
- 显存使用情况:本例中使用了406MiB,总计4040MiB;
- GPU使用率:本例中是2%。
2. nvtop命令
如果你想查看GPU使用日志,可以考虑使用nvtop工具。
nvtop
该命令会输出一个以文字和图表形式显示的GPU使用情况的实时监控窗口。
从nvtop窗口中,我们可以看到以下信息:
- GPU名称:本例中是Tesla M40;
- 温度:本例中是49℃;
- 风扇转速:本例中是36%;
- GPU使用率:本例中是100%;
- 显存使用情况:本例中使用了6665MiB;
- 进程:本例中正在运行python。
3. 使用Python代码
除了使用命令行工具,我们还可以在Python代码中实现查看GPU使用率的功能。以下代码展示了如何利用NVIDIA官方提供的python库nvidia-ml-py来查询GPU使用率。
import nvidia_smi
nvidia_smi.nvmlInit()
handle = nvidia_smi.nvmlDeviceGetHandleByIndex(0)
res = nvidia_smi.nvmlDeviceGetUtilizationRates(handle)
print(f'GPU utilizaiton: {res.gpu}%')
该代码会输出以下信息:
GPU utilization: 34%
三、结论
通过上述方法,我们可以了解GPU的使用情况,有助于我们更好地掌控模型优化和调整。
最新评论