Go to file
Domen Tabernik f3ad29318b
Update README.md
2019-03-08 21:25:45 +01:00
LICENCE Initial commit (working version). 2019-03-08 19:24:59 +00:00
README.md Update README.md 2019-03-08 21:25:45 +01:00
install_daemon.sh Fixed bug with flushed output to systemd 2019-03-08 21:19:08 +01:00
superfans.py Initial commit (working version). 2019-03-08 19:24:59 +00:00
superfans_gpu_controller.py Initial commit (working version). 2019-03-08 19:24:59 +00:00

README.md

NVIDIA GPU-based FAN controller for SUPERMICRO server

This controller enables automatic adjustments of FANs in SUPERMICRO servers based on GPU temperature. Only NVIDIA GPUs are supported since the tool uses nvidia-smi to parse the GPU temperature. FANs are controlled through IPMI tool (impitool) using the modified superfans (https://github.com/putnam/superfans) script.

Requirements

  • Linux (tested on Ubuntu 18.04)
  • Python 2.7
  • nvidia drivers/tools (nvidia-smi)
  • IPMI tool (impitool) with loaded module (modprobe ipmi_devintf)

Tested on SUPERMICRO 4029GP TRT2 with RTX 2080 Ti (nvidia 415.27 drivers).

Usage

Directly call python script (requires sudo access for impitool):

sudo python superfans_gpu_controller.py

Or install systemd service (superfans-gpu-controller.service):

sudo chmod +x ./install_daemon.sh
sudo ./install_daemon.sh

Service is registered to start at system startup. Start and stop it using:

# start
sudo systemctl start superfans-gpu-controller

# stop
sudo systemctl stop superfans-gpu-controller

# check the status
sudo systemctl status superfans-gpu-controller

# view logs (with trailing)
sudo journalctl -f -u superfans-gpu-controller

Settings

Currently the settings are hardcoded into superfans_gpu_controller.py (TODO: split into config file) using the following table:

  • 0°C => 25%
  • 60°C => 30%
  • 70°C => 36%
  • 80°C => 40%
  • 85°C => 45%
  • 90°C => 50%

At full workload using 4x RTX 2080 Ti this results in around 75°C - 80°C (GPU temperature).