人工智能技术圈

深度学习多GPU运行时的降温方法

2019-04-19  本文已影响26人  科技老丁哥

刚配置了多GPU用于深度学习,但是组装之后跑了一遍,发现多GPU发热特别厉害,由于机子是4个GPU堆叠在一起,所以基本上散热效果很差,如果只用其中一个GPU来跑,稳定运行后,这个GPU的温度会上升到85度左右,其他相邻的GPU温度也会上升到60-70多度,更别说4个GPU同时跑起来,估计整体温度会上升到90多度,而且性能也会极大下降,简直伤不起啊。

后来发现深度学习训练时GPU温度过高?几个命令,为你的GPU迅速降温这篇文章,尝试了一下,文章中的方法仅仅可以用于单个GPU的风扇速度调节,对于多个GPU的风扇速度还是调节不了,我尝试了很多次后,终于搞定了多GPU的风扇速度调节方法。

我的系统是Ubuntu 1604, GPU是4块 RTX 2080 Ti,带有显示器(X server)。

1. 单个GPU的风扇速度调节

简单记录一下步骤:

  1. cd /etc/X11 下,看看有没有xorg.conf文件,如果没有,新建一个,方法:
sudo nvidia-xconfig --cool-bits=4
  1. 如果/etc/X11下有了xorg.conf文件,使用sudo nano xorg.conf打开编辑。查看Section "Device"下是否有
 Option          "Coolbits" "4"

这一句话,如果没有添加上去,

如果使用sudo nvidia-xconfig --cool-bits=4新建了xorg.conf,这个Option Coolbits就已经存在了。

  1. 重启电脑sudo reboot

  2. 设置GPU0这一个GPU的风扇转速,此处设为90%:

nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=90"

也可以通过nvidia-settings 打开控制面板,手动滑动调节块来设置转速,如下。


image.png

2. 多个GPU的风扇速度调节

这部分我尝试了好多方法,走了好多弯路,后来发现设置起来超级简单,步骤为:

  1. cd /etc/X11 下,看看有没有xorg.conf文件,如果没有,新建一个,方法:
sudo nvidia-xconfig 

如果已经有这个文件,则直接往下。

  1. 设置为多GPU模式,执行如下命令
sudo nvidia-xconfig --enable-all-gpus
  1. 设置多GPU模式下每个GPU的风扇转速可以调节:
sudo nvidia-xconfig --cool-bits=4
  1. 重启电脑sudo reboot

  2. 查看nvidia控制面板是否有转速的手动滑动调节块,输入:nvidia-settings命令,出现下图,分别点击GPU-1, GPU-2,GPU-3,会出现Fan 0 Speed调节滑块,可以手动来调节转速。


    多GPU运行时降温方法.png
  3. 可以打开这个控制面板手动滑动来调节Fan Speed,当然也可以用命令:

nvidia-settings -a "[gpu:0]/GPUFanControlState=1" 
nvidia-settings -a "[gpu:1]/GPUFanControlState=1" 
nvidia-settings -a "[gpu:2]/GPUFanControlState=1" 
nvidia-settings -a "[gpu:3]/GPUFanControlState=1" 
nvidia-settings -a "[fan:0]/GPUCurrentFanSpeed=80" 
nvidia-settings -a "[fan:1]/GPUCurrentFanSpeed=85" 
nvidia-settings -a "[fan:2]/GPUCurrentFanSpeed=86" 
nvidia-settings -a "[fan:3]/GPUCurrentFanSpeed=90" 

此处将GPU0的转速设置为80%,GPU1: 85%,等等。

  1. 查看设置结果:使用nvidia-smi查看结果为:


    多GPU运行时降温方法

3. 温度测试

上一篇 下一篇

猜你喜欢

热点阅读