Перейти к основному содержанию

NVIDIA RTX 4090 — ограничиваем энергопотребление

Gainward GeForce RTX 4090 Phantom

Каждое следующее поколение видеокарт потребляет всё больше электричества. Это приводит не только к повышению расхода электроэнергии, но и к другим неприятным эффектам. Повышается температура, что, в свою очередь ведёт к увеличению энергопотребления системы охлаждения. Повышается шум. Блоки питания могут не выдерживать и приводить к сбоям в работе ПК или сервера. Естественно, у нас сегодня речь про GPU NVIDIA RTX 4090 на сервере.

Решить проблемы можно путём ограничения энергопотребления видеокарты. Для этого нужно снизить значение Power Limit. Рулить будем с помощью утилиты командной строки от NVIDIA: nvidia-smi.

Посмотреть текущие лимиты энергопотребления можно так (запускаем от рута):

nvidia-smi -q -d POWER
gpu

Для каждой видеокарты получим некоторые интересные значения:

  • Default Power Limit — ограничение энергопотребления по умолчанию. Задаётся прошивкой.
  • Requested Power Limit — установленное вручную ограничение энергопотребления.
  • Current Power Limit — текущее ограничение энергопотребления, которое действует в данный момент.
  • Min Power Limit — минимальное ограничение энергопотребления, которое можно установить вручную. Задаётся прошивкой.
  • Max Power Limit — минимальное ограничение энергопотребления, которое можно установить вручную. Задаётся прошивкой.

Можно задать любое значение между Min Power Limit и Max Power Limit. Изменить ограничение энергопотребления, если установлена одна видеокарта:

nvidia-smi -pl 150

Где 150 — установленное вручную ограничение.

Изменить ограничение энергопотребления, если установлено несколько видеокарт:

nvidia-smi -i 0 -pl 150

Где 150 — установленное вами ограничение, а 0 — индекс видеокарты.

Если у вас четыре видеокарты, то лимиты можно установить так:

nvidia-smi -i 0 -pl 150
nvidia-smi -i 1 -pl 150
nvidia-smi -i 2 -pl 150
nvidia-smi -i 3 -pl 150

gpu

Или так:

for i in {0..3}; do
  nvidia-smi -i $i -pl 150
done

Обращаем внимание на предупреждение:

Warning: persistence mode is disabled on device...

Ограничения будут действовать до перезагрузки. Чтобы их применить постоянно:

nvidia-smi -i 0 -pm 1
nvidia-smi -i 1 -pm 1
nvidia-smi -i 2 -pm 1
nvidia-smi -i 3 -pm 1

Верхнюю границу энергопотребления GPU можно увидеть также в nvidia-smi.

gpu

P.S.

Max Power Limit для одних и тех же видеокарт может отличаться, в зависимости от прошивки. К примеру, на некоторых моделях серверов улучшено охлаждение PCIe зоны, что позволяет без проблем использовать повышенный Power Limit, это достигается специальными прошивками.

Для NVIDIA RTX 4090 значение Max Power Limit может достигать 600 Вт. Ещё карты 4000 серии "славятся" своими короткими скачками энергопотребления, которые могут превышать лимит. БП ставьте с запасом.

P.P.S.

Несмотря на мои старания, после перезагрузки лимиты всё равно сбросились. Делаем ход конём.

Создаём скрипт /opt/set-nvidia-tdp.sh:

sudo tee /opt/set-nvidia-tdp.sh > /dev/null <<'EOF'
#!/bin/bash

# Set GPU power limit in watts
POWER_LIMIT=150

# Wait for nvidia-smi daemon to initialize
sleep 10
# Apply the power limit to all GPUs
for i in $(/usr/bin/nvidia-smi --query-gpu=index --format=csv,noheader); do
   echo "Setting NVIDIA GPU $i to ${POWER_LIMIT}W TDP."
   /usr/bin/nvidia-smi -i "$i" -pm 1
   /usr/bin/nvidia-smi -i "$i" -pl "$POWER_LIMIT"
done
EOF

sudo chmod +x /opt/set-nvidia-tdp.sh

Создаём службу:

sudo tee /etc/systemd/system/nvidia-tdp.service > /dev/null <<EOF
[Unit]
Description=Set NVIDIA GPU Power Limit at Boot
Requires=nvidia-persistenced.service
After=nvidia-persistenced.service

[Service]
Type=oneshot
ExecStart=/opt/set-nvidia-tdp.sh

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable nvidia-tdp.service
sudo systemctl start nvidia-tdp.service

Проверим:

nvidia-smi --query-gpu=power.limit --format=csv

Теперь при загрузке лимиты будут устанавливаться скриптом.

Теги

 

Похожие материалы

NVIDIA Quadro P2200 — фото

Пришла новая видеокарта для системного блока конструктора-разработчика. Десктопная однослотовая карта с интерфейсом PCIe 3.0 x16 предназначена для дизайнеров и схемотехников. Карта имеет 5 Гб памяти GDDR5X на частоте 10.01 ГГц, пропускная способность 200.2 Гб/с. Поддерживает разрешение 5120x2880.

Комп для разработчика с GPU GeForce RTX 4090

Коллеги собрали рабочий комп для разработчика с солидным GPU на борту. Ранее мы уже лепили этот комп из того что было, пришла пора обновить систему и дать возможность разработчику творить. Добро, желательно.