自动摘要: 介绍 由于RTX3090出色的发热量,为避免长时间深度学习导致显卡过热而引起脱焊、显存损坏等情况,因此可以找到一个功率限制,在系统功率负载下提供相对合理的计算性能的情况下,同时能够降低发热 ……..
介绍
由于RTX 3090出色的发热量,为避免长时间深度学习导致显卡过热而引起脱焊、显存损坏等情况,因此可以找到一个功率限制,在系统功率负载下提供相对合理的计算性能的情况下,同时能够降低发热量
实验部分(引用于pugetsystems)[1]
以下实验基于TensorFlow 1.5,使用ResNet50作为测试模型,测试持续几分钟。
可以看到,将功率限制为280w仍有90%的性能,但此时发热量大大下降。
限制功率方法
单次限制(重启后会恢复默认)
1 | sudo nvidia-smi -pm 1 # 打开显卡的持久模式,以避免无应用执行时,电源设置被重置 |
开机自动限制功率
1 | sudo vi /usr/local/sbin/nv-power-limit.sh |
将以下内容复制到nv-power-limit.sh中,按ESC后再按wq+Enter保存退出
1 | #!/usr/bin/env bash |
将文件权限设置为744
1 | sudo chmod 744 /usr/local/sbin/nv-power-limit.sh |
将systemd 单元文件将放置在 /usr/local/etc/systemd 中,该子目录可能不存在,以 root 身份创建它
1 | sudo mkdir /usr/local/etc/systemd |
将以下内容复制到nv-power-limit.service中,按ESC后再按wq+Enter保存退出
1 | [Unit] |
该文件的权限应设置为 644,即 root 具有读写权限,组和其他人具有读取权限。
1 | sudo chmod 644 /usr/local/etc/systemd/nv-power-limit.service |
将nv-power-limit.service链接到 /etc/systemd/system 目录,以便 systemd 可以找到它。
1 | sudo ln -s /usr/local/etc/systemd/nv-power-limit.service /etc/systemd/system/nv-power-limit.service |
最后设置开机自启动
1 | sudo systemctl start nv-power-limit.service |
资料来源:pugetsystems作者:Donald Kinghorn原文链接:https://www.pugetsystems.com/labs/hpc/Quad-RTX3090-GPU-Power-Limiting-with-Systemd-and-Nvidia-smi-1983/
参考
- ^https://www.pugetsystems.com/labs/hpc/Quad-RTX3090-GPU-Wattage-Limited-MaxQ-TensorFlow-Performance-1974/