【转】GPU状态监测及tensorflow中指定GPU及GPU显存设置

GPU状态监测

命令: nvidia-smi

功能:显示机器上gpu的情况

上图是服务器上 GeForce GTX 1080 Ti 的信息,下面一一解读参数。 
上面的表格中的红框中的信息与下面的四个框的信息是一一对应的:

GPU:GPU 编号; 
Name:GPU 型号; 
Persistence-M:持续模式的状态。持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态; 
Fan:风扇转速,从0到100%之间变动; 
Temp:温度,单位是摄氏度; 
Perf:性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能(即 GPU 未工作时为P0,达到最大工作限度时为P12)。 
Pwr:Usage/Cap:能耗; 
Memory Usage:显存使用率; 
Bus-Id:涉及GPU总线的东西,domain:bus:device.function; 
Disp.A:Display Active,表示GPU的显示是否初始化; 
Volatile GPU-Util:浮动的GPU利用率; 
Uncorr. ECC:Error Correcting Code,错误检查与纠正; 
Compute M:compute mode,计算模式。

命令: nvidia-smi -L 

功能:定时更新显示机器上gpu的情况

该命令用于列出所有可用的 NVIDIA 设备信息

在终端执行程序时指定GPU   

CUDA_VISIBLE_DEVICES=1   python  your_file.py

这样在跑你的网络之前,告诉程序只能看到1号GPU,其他的GPU它不可见

可用的形式如下:

CUDA_VISIBLE_DEVICES=1           # Only device 1 will be seen
CUDA_VISIBLE_DEVICES=0,1         # Devices 0 and 1 will be visible
CUDA_VISIBLE_DEVICES="0,1"       # Same as above, quotation marks are optional
CUDA_VISIBLE_DEVICES=0,2,3       # Devices 0, 2, 3 will be visible; device 1 is masked
CUDA_VISIBLE_DEVICES=""          # No GPU will be visible

在Python代码中指定GPU

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"

设置定量的GPU使用量

config = tf.ConfigProto() 
config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存 
session = tf.Session(config=config)

设置最小的GPU使用量

config = tf.ConfigProto() 
config.gpu_options.allow_growth = True 
session = tf.Session(config=config)

 

LINK

tensorflow中指定GPU及GPU显存设置
GPU状态监测 nvidia-smi 命令详解

猜你喜欢

转载自blog.csdn.net/imsuhxz/article/details/87781272