我有一个在Google Colab上运行的程序,我需要在其中监视GPU的运行情况。我知道通常您会在命令行中使用nvidia-smi
来显示GPU的使用情况,但是由于Colab一次只允许一次运行一个单元,所以这不是一种选择。目前,我正在使用GPUtil
并通过GPUtil.getGPUs()[0].load
和GPUtil.getGPUs()[0].memoryUsed
监视GPU和VRAM的使用情况,但是我找不到与其余代码同时执行的方式我的代码,因此使用数量远低于实际数量。在其他代码运行时,是否可以打印出GPU使用情况?
答案 0 :(得分:7)
使用wandb
记录系统指标:
!pip install wandb
import wandb
wandb.init()
哪个输出URL,您可以在其中查看不同系统指标的各种图形。
答案 1 :(得分:1)
更清晰的解释。
!pip install wandb import wandb wandb.init()
答案 2 :(得分:1)
您可以在后台运行脚本来跟踪 GPU 使用情况。
第 1 步:创建文件以监控 jupyter 单元中的 GPU 使用情况。
%%writefile gpu_usage.sh
#! /bin/bash
#comment: run for 10 seconds, change it as per your use
end=$((SECONDS+10))
while [ $SECONDS -lt $end ]; do
nvidia-smi --format=csv --query-gpu=power.draw,utilization.gpu,memory.used,memory.free,fan.speed,temperature.gpu >> gpu.log
#comment: or use below command and comment above using #
#nvidia-smi dmon -i 0 -s mu -d 1 -o TD >> gpu.log
done
第 2 步:在后台另一个单元格中执行上述脚本。
%%bash --bg
bash gpu_usage.sh
第 3 步:运行推理。
请注意,脚本会记录前 10 秒的 GPU 使用情况,请根据您的模型运行时间进行更改。
GPU 利用率结果将保存在 gpu.log
文件中。
答案 3 :(得分:0)
还有另一种查看gpu使用情况的方法,但此方法仅适用于查看内存使用情况。转到单击运行时-> 管理会话。这让您可以查看需要多少内存,以便您可以增加批量大小。