当前位置: 首页 > 科技观察

深度学习训练时GPU过热?输入这几行命令,快速降温

时间:2023-03-18 19:36:56 科技观察

新买的非水冷公版GPU,满负荷运行时,温度立马从室温飙升到85度,模型训练没一会就完成了几分钟,很可能让这么贵的GPU长期在高温下运行真的很心疼!首先是被知乎上朋友的一篇文章启发:从零开始组装深度学习平台(GPU散热)。具体地址:http://t.cn/RK9wyBK本文是在ubuntuXserver环境下写的,通过修改nvidia-settings来修改GPU风扇转速,因为默认的nvidia-settings设置是,即使GPU在计算当时温度已经达到85度,风扇转速永远不会超过70%,这样GPU就无法很好的散热了,所以需要手动修改GPU风扇转速。注意,以下设置都是针对linux系统的GPU设置,windows的朋友请自行搜索相关文章。1、如果你有monitor(Xserver),完全可以按照上面的文章《从零开始组装深度学习平台》。以下是关键步骤:1.修改/etc/X11/xorg.cong文件sudonano/etc/X11/xorg.conf会议2。添加选项“Coolbits”“4”部分“设备”标识符“Device0”驱动程序“nvidia”VendorName“NVIDIA”选项“Coolbits”“4”在“设备”部分中结束部分3。重启电脑sudoreboot4。输入:nvidia-settings-a[gpu:0]/GPUFanControlState=1”-a[fan:0]/GPUTargetFanSpeed=100”其中GPUTargetFanSpeed=100是风扇的转速,100表示??风扇以100%速度,也可以更改为其他速度。请注意,在新的NVIDIA驱动程序中,GPUCurrentFanSpeed已更改为GPUTargetFanSpeed。另外,GPUFanControlState=1表示用户可以手动调节GPU风扇转速。感谢原文作者:张三儿,如果没有显示器,在ubuntu上搭建好深度学习环境后,很多朋友习惯禁用ubuntu的X桌面服务,然后通过另一个ssh连接windows系统电脑GPU机器使用。此时X服务器已经被禁用,开机自动启动命令行模式。上述第一种方法不适用于这种情况。原因是nvidia-settings只能在X桌面环境下运行,如果你试图强制这个设置,会报错:所以一般情况下,是不可能通过修改这个设置来改变风扇转速的。但是有没有其他方法可以修改呢?有!你需要欺骗系统让你有一个监视器,这通常被称为无头模式。主要解决办法参考链接中这篇文章(fanspeedwithoutX:powermizerdropscardtop8):http://t.cn/RK9ASS5本文提供了一个修改fanspeed的脚本,在ubuntu下运行脚本可实时调节风扇转速,为GPU降温。此处提供了详细步骤:1.将此github存储库克隆到本地目录/opt:https://github.com/boris-dimitrov/set_gpu_fans_publiccd/optgit包括克隆https://github.com/boris-dimitrov/set_gpu_fans_public在这个存储库中,上图中的文件主要与cool_gpu文件一起工作。克隆文件夹后,运行cool_gpu来调整风扇速度。2.将文件夹名称更改为set-gpu-fans。由于作者的疏忽,这个文件夹在cool_gpu代码中的名字是“set-gpu-fans”,但是gitclone之后的文件夹名字是“set_gpu_fans_public”。sudomvset_gpu_fans_publicset-gpu-fans3。创建一个符号链接让系统知道这段代码在哪里:ln-sf~/set-gpu-fans/opt/set-gpu-fans4。导航到set-gpu-fans文件夹,输入以下命令:cd/opt/set-gpu-fanssudotcsh./cool_gpu>&controller.log&tail-fcontroller.log这个命令是运行cool_gpu散热代码,你会看到启动后这些实时变化的提示:在开始计算测试之前,我们先看一下GPU的当前温度:这里使用2张卡进行计算和测试。我们可以看到2张卡的Perf(性能)项都调整为“P2”(其他卡还是P8)。温度为35度,所有三个风扇都以55%的速度运行。“P2”是指nvidia显卡的功耗状态,从P0到P12,最大性能状态为P0,运行计算为P2,最大功耗(最大性能)为P12。开始模型训练后,我们可以看到程序在不断地自动调节温度:运行训练模型一段时间后,最终的温度状态如下图所示:风扇全部调到80%速度,温度稳定在65度!与文章开头的数据相比,显卡温度从84度降到了65度,整整降了20度!3、需要注意的一点:在上面第二部分的文章出来之前,网上还流传着另一篇文章,可以说是最原始的版本。上面第二部分的代码是在文章原版的基础上改进的。是的,链接地址在这里(在没有X服务器的情况下设置风扇速度):http://t.cn/RK9yQmf但是这篇文章的原始代码有一个严重的问题:虽然可以强制改变风扇速度,但GPU会被降频工作,电源状态会被强行降为P8,导致运算性能严重下降!可能是文章发布时间较早,不适合最新的显卡和驱动,所以上面第二部分有改进版,请不要使用原版代码,否则性能的GPU将受到限制。转自雷锋网。本文作者胡志浩,原创发表于作者个人博客。