2026-11-07 15:19:34 +03:00
2026-11-07 15:19:34 +03:00
2026-11-07 15:19:34 +03:00
2026-11-07 15:19:34 +03:00

GPU Fan Controller — Delta QFR1212GHE

Автоматическое управление вентилятором на Tesla V100-PCIE-32GB (1 или 2 карты) по температуре GPU. Вентилятор обдувает обе карты. Скрипт определяет количество карт и берёт max(temp) для логики режимов. Burst-детекция срабатывает если max(temp1, temp2) растёт на ≥3°C за 2 секунды.

Подключение

Вентилятор Arduino Uno
красный (+12V) к блоку питания
чёрный (GND) GND Arduino
жёлтый (tach) D2
синий (PWM) D9
синий (PWM) отключить (не подтягивать!)

Установка

git clone ...
sudo cp scripts/gpu_fan_ctrl.sh /root/
sudo chmod +x /root/gpu_fan_ctrl.sh

sudo cp systemd/gpu-fan-ctrl.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now gpu-fan-ctrl.service

tail -f /var/log/gpu_fan.log

Ручное управление

stty -F /dev/ttyUSB0 115200
echo "6" > /dev/ttyUSB0   # полная
echo "3" > /dev/ttyUSB0   # средний
echo "s" > /dev/ttyUSB0   # статус
echo "RPM" > /dev/ttyUSB0 # обороты

Режимы

Режим PWM Температура (эффективная, с учётом гистерезиса)
STOP 10000 —
STANDBY 8000 < 23°C
LOW 5000 23–28°C
MED 3000 28–33°C
HIGH 2500 33–39°C
FULL 0 (2 мин) ≥ 45°C ИЛИ рост ≥ 3°C/2с

Пороги в коде: TH_COLD=25, TH_LOW=30, TH_MED=35, TH_HIGH=40, TH_BURST=45. Гистерезис 2°C оттягивает переключение вниз для стабильности. FULL режим удерживается 2 минуты даже при снижении температуры.

Логика выбора источника температуры

  1. 1+ NVIDIA GPU — мониторинг всех GPU, берётся max(temp) по всем картам.
  2. 0 NVIDIA GPU — фоллбэк на материнские thermal_zone, max(temp) по всем зонам.

Логика режимов

  • FULL (6) — при max(temp) ≥ 45°C или быстрый рост ≥3°C за 2 сек → удерживается 2 мин.
  • HIGH/MED/LOW/STANDBY (5/4/3/2) — обычные пороги с 2°C гистерезисом.
  • Режим вентилятора применяется ко всем картам одновременно (один физический вентилятор).

Подпись

Собрано при участии Qwen3.8-35B-A3B-Q4_K_M @ Tesla V100 32GB (PID 3666) на debi9.

S
Description
GPU Fan Controller — Delta QFR1212GHE
Readme
38 KiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 73.7%
C++ 26.3%