product_7_20170327131413_58d89fa5bf7a5.png

К сожалению, в интернете очень мало толковых гайдов по разгону, особенно разгону последних новинок зелёных карт (Nvidia) с возможностью редактирования кривой частот-напряжений.

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

Рационально получать максимум отдачи при минимальных расходах.

В данном обзоре мы попробуем показать, что могут выдать нам при правильном разгоне видеокарты Nvidia GTX серии 1080 TI на примере видеокарты MSI ARMOR 1080 TI 11G.

Для разгона в операционной системе Windows нам потребуется программа MSI AfterBurner версии 4.3.0 и выше. Для управления режимами энергопотребления карт используем штатную утилиту NVSMI от их разработчика.

Основным алгоритмом работы для карт NVIDIA GTX 1080 TI  является Equihash, но данная методика работает для всех алгоритмов!

Мы будем разгонять карту для майнинга Equihash, используя майнер EWBF версии 0.3.4b

Основные задачи разгона видеокарт:

  1. Определить максимальные возможности разгона карты.
  2. Найти максимальное и оптимальное соотношение по энергоэффективности для данной карты.
  3. Научиться задавать автоматическую смену режимов по времени (для многотарифного счетчика).

Методика разгона видеокарт Nvidia

В программе AfterBurner включаем мониторинг напряжения ядра.

msi_ab_vmon.png

При 100% загрузке карт (а майнинг equihash даёт именно постоянные 100%) энергопотребление карты зависит от напряжения на ядре.

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

Зависимость предельной частоты от напряжения ядра для этой серии представляет собой типичную экспоненциальная зависимость.

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

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

Конечно, в условиях сверхприбыльности (май-июнь 2017 и декабрь-январь 2017-2018) сильно ограничивать напряжение в принципе нерентабельно, но мы рассматриваем и разрабатываем системы, которые планируется использовать месяцами без переключений. При этом небольшой недобор скорости в период сверхприбыльности с лихвой компенсируется серьёзной экономией в период средней и низкой прибыльности, меньшими счетами за электроэнергию, меньшими затратами на вентиляцию и охлаждение, заметно большей плотностью установки ферм и долгим сроком работы видеокарт.

Кривая частот и напряжений

При выборе любой видеокарты Afterburner даёт выставить общий разгон по ядру и памяти. Это грубый путь, но достаточно эффективный для разгона без учёта энергоэффективности. Также этот вариант отлично подходит для разгона под алгоритм Dagger Hashimoto.

У этого грубого способа есть очень большой минус при использовании карт в даунклоке — карта может держать разгон +200 при PL=70%. Но не держать же его при 100%: в случае подвисания пула карта перестаёт считать хеши и притормаживает. После возобновления получения заданий она первые секунды считает на более высоких напряжениях ядра 100% — может вылететь драйвер (особенно актуально для майнинга через 3G/4G или Wi-Fi).

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

Нажимаем Crtl+F, открывается кривая, каждая точка которой соответствует определеному напряжению ядра (по X) и заданной для этого напряжения рабочей частоте (по Y).

1080ti_curve001.png

При заданном PL (Power Limit — лимит потребления) карта стартует на 100% и сразу же старается уложиться в заданное потребление, бегая по данной кривой в меньшую или большую сторону.

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

Таким образом можно создавать горизонтальное плато одинаковых частот (на скриншоте выше все точки от 925 милливольт установлены на частоту 1911 Мгц).

Запомним этот важный факт, он понадобится позже для выбора режимов. Переходим к разгону «с нуля».

Разгон видеокарт

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

В нашем случае мы (для экономии времени) выставили примерный максимум для большинства 1080Ti. Это частота 5800мгц, её берут почти все карты, отдельные экземпляры работают и на 6000, что само собой немного повысит скорость хеширования).

Если мы просто ограничим PL (power level),  получим примерно такую картину:

1080ti_211W.png

ВАЖНО! При тестировании в каждом майнере запускаем по одной карте, в этом случае при слёте драйвера остальные карты останутся работать (просто слетит мониторинг нагрузки в ваттах).

Нас будет интересовать, какой максимум частоты карта выдаст на каждом напряжении.

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

Зачастую карта может вести себя нелогично, взяв одну частоту на 900мВ, а чуть-чуть более высокую только на 943мВ, будьте терпеливы.

ВАЖНО! При слёте драйвера все точки и PL возвращаются в исходное состояние, мы потеряем прогресс, поэтому при сбое меняем 1 точку и сохраняем, не переключая карту в AB (сохраним настройку, если переключим карту — всё сначала).

После сбоя по переразгону программа-майнер выдаёт ошибку с разными кодами Thread existed with code: 46, 17, 53 и т.д.

1080ti_sboy.png

Мы достаточно быстро прошлись по разным напряжениям (ограничивая PL) и получили следующие картины:

Максимум  290W:

1080ti_290W.png

Даунклок

230 ватт:

1080ti_230W.png

190 ватт:

1080ti_190W.png

180 ватт:

1080ti_180W.png

165 ватт:

1080ti_165W.png

К сожалению, AfterBurner не даёт редактировать точки ниже 800 мв (хотя туда можно сходить, убавив ПЛ еще ниже). Это не сильно мешает, потому что, как видим, оптимальное соотношение находится выше.

По нашему мнению, оптимально иметь скорость 690-700 солов на 190 Вт.

Да, прибавка 60 Ватт прибавит 70 солов (60Вт на 70 Сол — в 2 раза хуже майнига на старых картах 7-ого поколения АМД), разве это логичное соотношение?

ВАЖНО! Все остальные точки от найденых выставляем равными по частотам найденным.

Получаем СТУПЕНИ:

1080ti_curve_step.png

По этим ступеням мы уже можем ходить вручную, уменьшая или повышая параметр лимита мощности (PL).

Интересно это делать в автоматическом режиме, об этом ниже.

ВАЖНО! Зачастую Тишка (как ласково именуют очень дорогостоящую и мощную 1080ti) не даёт сразу сохранить точки (особенно под нагрузкой) или же меняет их по своем внутреннему алгоритму. Из-за этого приходится выставлять их по нескольку раз.

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

Автоматическое переключение PL

Для управления и мониторинга ограничения питания по своему усмотрению используем утилиту NVSMI от разработчика карт.

Скачать можно тут — https://yadi.sk/d/bQ5uqzm13RV5hR

Кладём эту папку, например, в «c:\Programs\» и при использовании исполняемых командных файлов получаем информацию о картах и управляем ими.

Менять мощность очень легко. Например, чтобы установить лимит 250 Вт для карты №0, нам нужен файл с содержанием:

C:\Programs\NVSMI\nvidia-smi.exe -i 0 -pl 250

Результат:

nvsmi.png

Но для начала нам нужен файл list.bat

Его содержимое:

nvidia-smi.exe -L
pause

Он выводит список карт в системе. Теперь мы можем сопоставить названия карт их номерам.

Но у нас есть одинаковые карты! Что делать?

Используем исполняемый файл отображения потребления (пример s_power_0.bat) следующего содержания:

nvidia-smi -i 0 --loop-ms=1000 --format=csv,noheader --query-gpu=power.draw

Он выводит текущее потребление карты с указанным номером, и так для любой карты. Запустив майнинг только на одной карте, мы легко поймём, какая она по номеру.

Определившись с нумерацией карты, создаём общие файлы для переключения мощности сразу на всех картах.

В нашем случае мы создали 3 файла (hard, normal, soft), которые можно активировать для ночного тарифа, для тарифа полупик и для тарифа пик соответственно.

nvsmi_change.png

ВАЖНО! Смена PL возможна только при исполнении файла от имени администратора, поэтому в каждом файле прописаны полные пути к утилите NVSMI.

Идём в меню Пуск->Стандартные->Служебные->Планировщик заданий

В планировщике ставим запуск режима HARD после 23ч, режим SOFT в 7ч и в 17ч, режим NOrmal в 10ч и 21ч. Это соответствует времени трёхтарифного переключения в Москве, что позволит не пережигать впустую электроэнергию в час пик и получать максимум в дешёвом ночном тарифе.

Заключение

Переключение режимов используют редко, а вот завышение частот на самой стабильной точке (обычно 900 мВ или 950 Мв) вместе со снижением Power Limit позволит получить максимальную энергоэффективность и минимальную температуру ваших карт.

Не пережигайте свои карты впустую и они отблагодарят вас многолетней стабильной службой.

Автор — Трушин Денис, старший технический специалист powerconcept.ru