Майнинг

Оптимизация потребления видеокарт Nvidia при майнинге

Видеокарты Nvidia GTX 1050, 1060, 1070 и 1080, а также новые модели серии RTX отличаются простотой настройки майнинга, стабильностью работы и хорошим хешрейтом.

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

Это особенно важно при майнинге на алгоритме Ethash (используется у эфира, эфира классик, UBIQ, Metaverse, Expanse и многих других монет).

Как уменьшить энергопотребление видеокарт Nvidia при майнинге

При настройке видеокарт нужно понимать, что каждые сто мегагерц частоты на ядре видеокарты при майнинге на алгоритме Ethash дают прирост/снижение хешрейта на уровне около 0,5 Mh/s. Для хорошей скорости майнинга эфира достаточно иметь частоту ядра GPU на уровне 1100-1200 мегагерц.

Каждая видеокарта имеет индивидуальные возможности по разгону и даунвольтингу. Это зависит от качества кристаллов в ядре GPU и памяти. Для уменьшения потребления на ядре GPU Нвидиа программным способом можно использовать две популярных утилиты:

  1. MSI Afterburner;
  2. NvidiaInspector.

Наилучшие результаты по снижению энергопотребления дает программа NvidiaInspector, которая позволяет понизить вольтаж ядра ниже 800 милливольт, в то время как MSI Afterburner без дополнительных ухищрений позволяет его снизить только до 800 милливольт. Снижение вольтажа ядра до 0,8 В уменьшает потребление на примерно 20%, а температуру видеокарты на 4-5 градусов при одном и той же скорости кулеров.

Тем не менее иногда нужно применять MSI Afterburner либо одновременно обе программы (для разных видеокарт своя программа), так как некоторые видеокарты (например, P106-100 майнинг эдишн от MSI) не управляются NvidiaInspector.

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

Как оптимизировать энергопотребление с помощью MSI Afterburner

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

  1. С помощью снижения TDP — лимита энергопотребления (power limit);
  2. С помощью ручного выставления постоянного напряжения и частоты на ядре GPU на кривой (curve) зависимости напряжения и частоты. В просторечии этот способ называют «курвой» от созвучного английского названия графика – curve.

Снижение лимита энергопотребления (Power Limit) видеокарт Nvidia в MSI Afterburner

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

Для снижения потребления нужно уменьшать напряжение на ядре GPU до такого значения, когда еще обеспечивается стабильная работа майнера. Для алгоритмов, не требовательных к частоте ядра (Ethash, который раньше назывался Dagger Hashimoto), для снижения потребления можно сильнее уменьшать частоту ядра (до примерно 1100 МГц), что позволит еще больше снизить энергопотребление.

Для других алгоритмов может потребоваться повышенная частота ядра. Как правило, большинство видеокарт Nvidia могут выдержать увеличение частоты ядра на примерно 150 мегагерц (+150 Mhz), а памяти – до +500 мегагерц и выше (если повезет с чипами памяти).

Скриншот программы MSI Afterburner при downvolting видеокарты P106-100 (MSI GTX1060 6 Gb mining edition) с помощью понижения до 65% лимита по энергопотреблению (достигнуто напряжение на ядре 800 мВ):

Скриншот программы MSI Afterburner при downvolting видеокарты P106-100
Скриншот программы MSI Afterburner при downvolting видеокарты P106-100

После установки параметров разгона ядра и памяти с помощью ползунков частот, для снижения потребления видеокарт при майнинге нужно понизить TDP видеокарт.

Значение 100% Power Limit дает самый большой хешрейт при высоком потреблении, выделении тепла и шума от кулеров. Выставление этого значения в промежутке от 50 до 75% позволяет установить оптимальное напряжение на ядре при незначительном снижении хешрейта. Напряжение на ядре и его частота при этом будет автоматически колебаться для сохранения выставленного значения лимита, что будет отражаться и на хешрейте.

Скриншот Phoenix Miner при майнинге эфира в соло при 65% TDP:

Скриншот Phoenix Miner при майнинге эфира в соло при 65% TDP
Скриншот Phoenix Miner при майнинге эфира в соло при 65% TDP

Чтобы обеспечить стабильное напряжение на ядре, используют способ выставления постоянного напряжения и частоты на ядре на кривой (curve) зависимости напряжения и частоты ядра GPU.

Даунвольтинг видеокарт Nvidia с помощью «курвы»

При этом способе выставляют желаемый разгон видеопамяти ползунком в основном окне MSI Afterburner, оставляют 100% Power Limit, перемещают до упора влево частоту ядра (-400Mhz) и нажимают на график в виде трех столбцов в строке частоты ядра (Core Clock):

Появится окно, позволяющее регулировать зависимость частоты и напряжения на ядре видеокарты:

В появившемся окне перетягивают начало графика вольтажа ядра и частоты от значения 800 мВ до значения частоты на пару мегагерц выше максимальных значений графика:

Затем нажимают кнопку применить (Apply) в окне MSI Afterburner:

Стабильно выставленный график зависимости частоты и напряжения на ядре видеокарты Nvidia в программе MSI Afterburner (напряжение на ядре – 800 мВ при частоте ядра 1550 МГц) выглядит следующим образом:

Аналогичным образом можно выставить стабильное значение для любой частоты и напряжения, на которой видеокарта может работать.

Скриншот MSI Afterburner для видеокарты P106-100 со значением курвы 800 мВ при частоте ядра 1544 МГц:

Скриншот MSI Afterburner для видеокарты P106-100 со значением курвы 800 мВ при частоте ядра 1544 МГц
Скриншот MSI Afterburner для видеокарты P106-100

Настройка скорости кулеров в MSI Afterburner

В MSI Afterburner также можно выставить график зависимости скорости кулера от температуры. Для этого нажимают на кнопку шестеренки в MSI Afterburner, выставляют нужную форму графика вращения кулеров в зависимости от температуры, и не забывают активировать кнопку автоматического применения этих значений (кнопка Auto должна стать зеленой).

Скриншот MSI Afterburner при настройке скорости вращения кулеров:

Скриншот MSI Afterburner при настройке скорости вращения кулеров
Скриншот MSI Afterburner при настройке скорости вращения кулеров

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

Управление потреблением видеокарт Nvidia программами Nvidia Inspector и NVIDIA Profile Inspector

Главным преимуществом NvidiaInspector является возможность установки вольтажа GPU Core менее 800 мВ, что значительно уменьшает прожорливость видеокарт.

Nvidia Inspector можно скачать здесь: https://www.guru3d.com/files-details/nvidia-inspector-download.html или здесь: https://www.techpowerup.com/download/nvidia-inspector/.

Утилиту NVIDIA Profile Inspector можно скачать здесь: https://www.guru3d.com/files-details/nvidia-profile-inspector-download.html.

Обе эти программы требует наличия в операционной системе установленного NET Framework 2 и выше.

Для того, чтобы управлять напряжением ядра видеокарт компании Нвидиа с помощью утилит Нвидиа Инспектор и Нвидиа Профайл инспектор, на нужных GPU желательно отключить другие утилиты управления видеокартами, в том числе MSI Afterburner.

Если на видеокартах включен режим CUDA — Force P2 State (максимальной производительности), его выключают с помощью программы NVIDIA Profile Inspector . При постоянно включенном режиме P2 нужно использовать в два раза большие значения разгона ядра и видеопамяти. Если этот режим вручную не выключался, то обычно по умолчанию он включен.

Скриншот NVIDIA Profile Inspector в разделе управления режимом CUDA — P2 State:

Скриншот NVIDIA Profile Inspector в разделе управления режимом CUDA - P2 State
Скриншот NVIDIA Profile Inspector в разделе управления режимом CUDA — P2 State

Кроме того, для увеличения хешрейта в программе NVIDIA Profile Inspector можно подкорректировать значение power management mode, выставив его в Prefer Maximum Performance. Для экономии электроэнергии это значение можно поставить в optimal или adaptive.

Скриншот NVIDIA Profile Inspector в разделе управления режимом Performance:

Скриншот NVIDIA Profile Inspector в разделе управления режимом Performance
Скриншот NVIDIA Profile Inspector в разделе управления режимом Performance

Программа Nvidia Inspector позволяет осуществить следующие действия:

  1. Понизить напряжение на ядре для экономии электричества.
  2. Разогнать ядро видеокарты для повышения хешрейта.
  3. Установить нужное значение скорости вращения кулеров видеокарт для поддержания нужной температуры (желательно до 60 градусов, что минимально изнашивает электронные компоненты видеокарты).

Чтобы использовать NvidiaInspector, нужно создать пустой текстовый файл в той же папке, где она установлена. В его текстовой части нужно вставить следующие строки (для рига из 5 видеокарт, считаются от 0 до 4):

@echo off

TIMEOUT /T 25

SET FAN=44

SET VOLT=660000

SET TEMP=60

SET GPU0=-setMemoryClockOffset:0,0,380 -setBaseClockOffset:0,0,190 -setFanSpeed:0,%FAN% -lockVoltagePoint:0,%VOLT% -setTempTarget:0,0,%TEMP%

SET GPU1=-setMemoryClockOffset:1,0,380 -setBaseClockOffset:1,0,130 -setFanSpeed:1,%FAN% -lockVoltagePoint:1,%VOLT% -setTempTarget:1,0,%TEMP%

SET GPU2=-setMemoryClockOffset:2,0,510 -setBaseClockOffset:2,0,100 -setFanSpeed:2,%FAN% -lockVoltagePoint:2,%VOLT% -setTempTarget:2,0,%TEMP%

SET GPU3=-setMemoryClockOffset:3,0,490 -setBaseClockOffset:3,0,-50 -setFanSpeed:3,%FAN% -lockVoltagePoint:3,800000 -setTempTarget:3,0,%TEMP%

SET GPU4=-setMemoryClockOffset:4,0,380 -setBaseClockOffset:4,0,100 -setFanSpeed:4,50 -lockVoltagePoint:4,650000 -setTempTarget:4,0,%TEMP%

«nvidiaInspector.exe» %GPU0% %GPU1% %GPU2% %GPU3% %GPU4%

Затем меняют расширение этого файла в BAT, создают ярлык этого файла и помещают его в папку автозагрузки рига. Обычно это C:\Users\имя пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

Для настройки пакетного файла для конкретного майнинг рига в нем устанавливают следующие параметры:

  • TIMEOUT /T 25 – время в секундах для задержки запуска NvidiaInspector (в данном случае 25 секунд);
  • SET FAN=44 – скорость вращения вентиляторов видеокарты, в процентах (здесь – 44%);
  • SET VOLT=660000 – напряжение на ядре видеокарты, в милливольтах (в данном случае 660 мВ);
  • SET TEMP=60 – целевая температура видеокарты (60 градусов);
  • SET GPU0 – параметры для первой видеокарты (нумерация начинается с нуля);
  • -setMemoryClockOffset:0,0,380 – разгон по памяти GPU (в данном случае +380 МГц). Обычно память Hynix может разгоняться до 400-550 Mhz, Micron – до 500-700 мегагерц, а Samsung – до 650-850 Mhz;
  • -setBaseClockOffset:0,0,190 – разгон по частоте ядра (здесь +190 МГц). Для обеспечения высокого и стабильного хешрейта частоту видеокарт лучше выставлять не менее 1100 МГц (для некоторых видеокарт, в том числе серии 1080 это значение может быть большим). Напряжение можно контролировать в окне Nvidia Inspector (или в программах HWinfo, Aida64), которую для этого запускают путем двойного клика на ее файл.

Скриншот окна утилиты Nvidia Inspector, которая управляет напряжением на ядре (Voltage = 650 мВ), частотой памяти и скоростью вентиляторов (для установки нужных значений используется запуск BAT-файла с нужными параметрами):

Скриншот окна утилиты Nvidia Inspector
Скриншот окна утилиты Nvidia Inspector, которая управляет напряжением на ядре (650 мВ), частотой памяти и скоростью вентиляторов
  • -setFanSpeed:0,%FAN% — частота вращения вентиляторов (в данном случае для нулевой по счету видеокарты равна значению, выставленному в SET FAN=);
  • -lockVoltagePoint:0,%VOLT% — вольтаж на ядре (в данном случае для нулевой видеокарты равна значению, выставленному в SET VOLT=);
  • -setTempTarget:0,0,%TEMP% — целевая температура (в данном случае для этой видеокарты равна значению, выставленному в SET TEMP=).

Скриншот BAT-файла для использования NvidiaInspector для рига с 6-ю видеокартами:

Скриншот BAT-файла для использования NvidiaInspector для рига с шестью видеокартами
Скриншот BAT-файла для использования NvidiaInspector для рига с шестью видеокартами

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

При нестабильной работе рига нужно просматривать логи майнера, находить проблемную видеокарту и либо повышать напряжение на ее ядре, либо снижать разгон ядра и видеопамяти. Обычно при сильном разгоне по ядру зависает весь риг, а при переразгоне по памяти – только майнер.