指定GPU运行python程序

本文介绍了如何在命令行中使用nvidia-smi检查GPU状态,通过设置CUDA_VISIBLE_DEVICES指定GPU运行Python程序,以及利用gpustat和pynvml库进行实时监控GPU的使用情况和内存信息。
AudioSeal 音频水印系统

AudioSeal 音频水印系统

语音合成
PyTorch
Cuda

**AudioSeal** 是 Meta 开源的语音水印系统,用于 AI 生成音频的检测和溯源。

一、命令行运行python程序时

1、首先查看哪些GPU空闲,nvidia-smi显示当前GPU使用情况。

nvidia-smi

在这里插入图片描述

  • GPU:编号,这里是0和1

  • Fan:风扇转速,在0到100%之间变动,第一个是29%

  • Name:显卡名,这里两块都是GeForce

  • Temp:显卡温度,第一个是60摄氏度

  • Perf:性能状态,从P0到P12,P0性能最大,P12最小

  • Persistence-M:持续模式的状态开关,该模式耗能大,但是启动新GPU应用时比较快,这里是off

  • Pwr:能耗

  • Bus-Id:GPU总线

  • Disp.A:表示GPU的显示是否初始化

  • Memory-Usage:显存使用率

  • GPU-Util:GPU利用率,第一个是74%,第二个未用

  • Compute M.:计算模式

2、然后指定空闲的GPU运行python程序。

CUDA_VISIBLE_DEVICES=0,2,3 python test.py

二、在python程序中指定GPU

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,2,3"

PS:周期性输出GPU使用情况

每 10s 显示一次GPU使用情况:

watch -n 10 nvidia-smi

三、使用gpustat库可实时监测

安装gpustat库

pip install gpustat

运行命令

gpustat --w

效果如下:
在这里插入图片描述

四、使用python的pynvml库

安装pynvml库

pip install pynvml

下面为使用示例:

import pynvml
pynvml.nvmlInit()
handle = pynvml.nvmlDeviceGetHandleByIndex(0) # 指定显卡号
meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)
print(meminfo.total/1024**2) #总的显存大小(float)
print(meminfo.used/1024**2)  #已用显存大小(float)
print(meminfo.free/1024**2)  #剩余显存大小(float)

参考文献

  • https://www.iotword.com/4559.html

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

AudioSeal 音频水印系统

AudioSeal 音频水印系统

语音合成
PyTorch
Cuda

**AudioSeal** 是 Meta 开源的语音水印系统,用于 AI 生成音频的检测和溯源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫敷雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值