对于GPU相关参数介绍
- 使用命令周期性查看GPU运行情况
- 最常用的参数是 -n, 后面指定是每多少秒来执行一次命令。监视显存:设置为每 1s 显示一次显存的情况:
- 使用命令ctrl+z退出
watch -n 1 nvidia-smi
参数介绍
- Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A;实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如将服务器放在空调房间里)。
- Temp:显卡内部的温度,单位是摄氏度;
- Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能;
- Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
- Pwr:能耗表示;
- Bus-Id:涉及GPU总线的相关信息;
- Disp.A:是Display Active的意思,表示GPU的显示是否初始化;
- Memory Usage:显存的使用率;
- Volatile GPU-Util:浮动的GPU利用率;
- Compute M:计算模式;
- 参考链接
Intel
安装intel-gpu-tools工具
yum install intel-gpu-tools
//安装完毕后, 系统中会多种三个gpu工具: intel_gpu_abrt intel_gpu_time intel_gpu_top,其中,常用的是intel_gpu_top和intel_gpu_time。
指定GPU、CPU运行
- 在多GPU系统里使用单一GPU。为了获取 operations 和 Tensor 被指派到哪个设备上运行, 用
log_device_placement
新建一个 session
, 并设置为 True
- tensorflow
# 新建一个 graph.
with tf.device('/gpu:0'):a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')c = tf.matmul(a, b)
# 新建 session with log_device_placement 并设置为 True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
# 运行这个 op.
print sess.run(c)
import os
os.environ['CUDA_VISIBLE_DEVICES'] = '0' if on_server is False else '0,1'