Hardware,  Статьи

О попытке решить проблему с невозможностью разгона видеокарты Nvidia

Иногда при использовании видеокарт nVIDIA возникает проблема, когда невозможно добиться от нее даже минимального увеличения производительности. В этом случае, хотя в операционной системе (и в Linux, и в Windows) установлены драйвера, используется проверенная программа разгона, частота ядра не изменяется при любых установках.

Пример, когда при запуске майнинга на проблемной видеокарте Nvidia GeForce GTX 1060 с 6 GB VRAM частота GPU остается на самом минимальном уровне (Core 139 MHz, потребление 28W):

При этой проблеме ядро графического адаптера постоянно находится в состоянии минимального энергопотребления и работает на самой низкой частоте. Так как производительность GPU минимальна, практически невозможно ни играть в игры, ни запустить сколь-нибудь профитный майнинг. Иногда подобные throttle-проблемы появляются после долгого пребывания видеокарты в idle-состоянии.

Частота ядра не изменяется, несмотря на принудительную установку программой Nvidia Profile Inspector видеокарты в состояние наибольшей производительности (Force P2 State — Off и Power managment mode — Prefer maximum performance):

Установки разгона графического ускорителя с помощью программы nvidia inspector относительно вольтажа и частоты видеоядра не работают (GPU get ‘stuck’ at lower clock speeds):

Как видно на приведенном выше изображении, частота памяти подвержена управлению и соответствует установкам пользователя, в то время как частота ядра равна всего 139 МГц, хотя видеокарта перешла в режим P-State P0. Вольтаж GPU остается равным 763 мВ, несмотря на попытку установить напряжение ядра равным 900 мВ, например, следующим батником для nvidiaInspector:

@echo off

TIMEOUT /T 20

SET FAN=75

SET VOLT=900000

SET TEMP=60

SET GPU0=-setMemoryClockOffset:0,0,-40 -setBaseClockOffset:0,0,120 -setFanSpeed:0,40 -lockVoltagePoint:0,%VOLT% -setTempTarget:0,0,%TEMP%

"nvidiaInspector.exe" %GPU0%

Программа GPU-Z показывает следующее состояние сенсоров проблемной видеокарты:

Как видно из скриншота программы GPU-Z, мощность, потребляемая с разъема дополнительного питания +12 вольт (сенсор 6-Pin #1 Power), равна 0.0W. Видеокарта питается исключительно от питания PCIe Slot Power, отбирая из него 41.8 ватт (запущен майнинг криптовалюты Dynamic на алгоритме argon2d-dyn). Загрузка ядра, работающего на частоте 139 MHz, равна 99%, то есть фактически видеокарта работает, «лежа на печи».

Статус сенсоров ленивой видеокарты согласно программе HWINFO:

Программа MSI Afterburner ситуацию не меняет, хотя управление вольтажом и лимитом потребления с помощью ползунков визуально работает, реально на практике пользовательские установки не применяются:

Замена райзеров, переустановка драйверов, установка видеокарты на другой компьютер с заведомо рабочим блоком питания, использование другой операционной системы (в том числе на ядре Linux), ситуацию не исправляет. BIOS видеокарты, снятый с помощью программы GPU-Z явных искажений не содержит:

Видеокарта, саботирующая команды по увеличению частоты ядра и переходу в более активное состояние, пребывает «в полудреме» и троттлит.

Возможной причиной невозможности разогнать видеокарту Nvidia является неправильная установка параметра PCIe Power Management. Проблемы могут возникнуть при установке во включенное состояние параметра управление питанием состояния связи PCI Express (Link State Power Management), для достижения максимальной производительности это значение нужно устанавливать в положение «Выключено»:

К сожалению, иногда все перечисленные способы устранения проблемы с выходом видеокарты из состояния минимальной активности не помогают. В этом случае представители компании Nvidia рекомендуют обратиться к продавцу и произвести обмен товара. Этот вариант пригоден только для новых видеокарт, поэтому в большинстве случаев нужно искать и устранять причину неисправности самостоятельно.

Что же является причиной замораживания частоты видеочипа (constant GPU throttling)?

Некоторую полезную информацию по этому поводу может дать операционная система Linux и служебная программа nvidia-smi.

В операционной системе xubuntu по команде

nvidia-smi -q -d PERFORMANCE

отображается информация о возможных причинах сохранения GPU в состоянии low frequency:

==============NVSMI LOG==============

Timestamp : Tue Jan 18 19:53:45 2022

Driver Version : 430.64

CUDA Version : 10.1

Attached GPUs : 1

GPU 00000000:01:00.0

Performance State : P2

Clocks Throttle Reasons

Idle : Not Active

Applications Clocks Setting : Not Active

SW Power Cap : Active

HW Slowdown : Not Active

HW Thermal Slowdown : Not Active

HW Power Brake Slowdown : Not Active

Sync Boost : Not Active

SW Thermal Slowdown : Not Active

Display Clock Setting : Not Active

Как видно из приведенной информации, вероятной причиной появления проблемы NVIDIA GPUs stuck at low clocks является установка на видеокарте параметра SW Power Cap в активное состояние (SW Power Cap is Active). Теоретически здесь должно помочь использование команд (Linux):

sudo nvidia-smi -pm 1

sudo nvidia-smi -i 0 -pl 120 (здесь нужно указать значение лимита потребляемой мощности)

nvidia-settings -a '[gpu:0]/GPUGraphicsClockOffset[3]=120';

nvidia-settings -a '[gpu:0]/GPUPowerMizerMode=1';

Для справки:

Возможные значения PL видеокарты Nvidia можно посмотреть командами:

nvidia-smi -q -d POWER

или

nvidia-smi -q | grep 'Power Limit'

На практике ситуация не изменяется, лимит потребления остается на уровне 38 ватт:

На приведенной в качестве примера картинке видеокарта работает под управлением майнера NBminer на алгоритме Ethash (криптовалюта ETH), но видеокарта находится в «дремотном» состоянии, выдавая при хешрейт порядка 8 MH/s.

Учитывая отсутствие реакции видеокарты на программное воздействие, а также сохранение проблемы при ее установке в другой компьютер, можно предположить, что причиной неисправности является аппаратная проблема. Возможно, при этом ШИМ-контроллер выдает неправильный сигнал на силовые транзисторы фаз питания GPU, либо не работает сенсор, отвечающий за передачу информации о потреблении видеокарты (perfcap). Из-за этого ядро видеокарты постоянно находится в состоянии idle…

Решение проблем, связанных с работой токового датчика рассматривается в статье Устранение аппаратной неисправности, ограничивающей производительность видеокарт Nvidia.

Добавить комментарий

Ваш адрес email не будет опубликован.

English English Русский Русский