指定GPU运行python程序

这篇具有很好参考价值的文章主要介绍了指定GPU运行python程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、命令行运行python程序时

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

nvidia-smi

python指定gpu运行,解决方案,python,GPU

  • 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指定gpu运行,解决方案,python,GPU

四、使用python的pynvml库

安装pynvml库

pip install pynvml

下面为使用示例:文章来源地址https://www.toymoban.com/news/detail-716223.html

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

到了这里,关于指定GPU运行python程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包