从零开始组装深度学习平台(GPU散热)

我在前面两篇文章中记录我组装深度学习平台组装过程(硬件)和软件的安装过程. 但我在使用的过程中, 发现GPU散热是个大问题. 我尝试了很多方法改善GPU散热, 有些有效, 有些效果不明显, 在这里记录一下.

我自己买的是公版1080Ti, 只有一个风扇, 基本待机情况下GPU温度就在41度, 训练模型的时候, 温度半分钟就上升到85度左右, 使用nvidia-smi查看显卡状态, 可以看到显卡已经在降频工作了.

1. 买带水冷的GPU

我觉得这是最有效的方法了. 带水冷的GPU只比公版的GPU贵100美金左右. 而且加装水冷的GPU一般都被超频. 如果有经济实力, 最好直接买水冷的GPU.

2. 调节GPU风扇

我注意到Nvidia自动调节风扇的方式很奇怪: GPU温度达到85度左右的时候, 风扇却只运行在50%的速度. 在网上搜索了很多更改GPU风扇的方法, 尝试很久后终于成功, 下面是具体步骤.

(1) 修改/etc/X11/xorg.conf文件

sudo nano /etc/X11/xorg.conf

在Section "Device"里面加入 Option "Coolbits" "4"

Section "Device"
        Identifier      "Device0"
        Driver          "nvidia"
        VendorName      "NVIDIA"
        Option          "Coolbits" "4"
EndSection

注意网上有人提到可以直接运行

sudo nvidia-xconfig --cool-bits=4

我发现运行以上命令并没有效果, 貌似--cool-bits=4被加到了Section "Screen"里面, 所以建议还是用前面手动添加的方法.

这里是数值的具体解释:

4 (thermal monitor page will allow configuration of GPU fan speed)
8 (allows setting per-clock domain and per-performance level offsets to apply to clock values)
16 (the nvidia-settings command line interface allows setting GPU overvoltage)

(2) 重启电脑

(3) 运行以下命令

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

这里GPUTargetFanSpeed=100就是风扇的速度, 100就是风扇运行在100%的速度, 也可以改成其它速度. 注意在新的NVIDIA驱动, GPUCurrentFanSpeed 被改成了 GPUTargetFanSpeed. 另外GPUFanControlState=1表示让用户可以手动调节GPU风扇速度.

如果你想回到GPU自动控制风扇速度, 运行下面

nvidia-settings -a "[gpu:0]/GPUFanControlState=0"


把GPU风扇速度调到100%后, 训练网络的温度恒定在67度左右, 比之前的85度降低了18度左右!!

编辑于 2017-07-11 23:36