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

MSI Afterburner

Так как у меня несколько ферм на разных платформах AMD и Nvidia, то мне пришлось столкнуться с несколькими сложностями в процессе оптимизации видеокарт.

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

Изначально для карт Nvidia я использовал фирменные утилиты от производителя, Gigabyte Xtreme и Aorus Graphics Engine. Вторая утилита Aorus, мне понравилась больше как дизайном, так и скоростью работы. Единственная проблема этих утилит в том, что при перезагрузке системы настройки применяются только для первой видеокарты в списке. Чтобы применить настройки для остальных видеокарт необходимо вручную прожимать Apply для каждой карты в отдельности. Победить проблему стандартными методами я так и не смог, возможно, программу можно запускать с ключом и применять настройки для всех карт.

В этом случае, единственной качественной и позволяющей реализовать необходимое стал MSI Afterburner.

MSI Afterburner
Главное окно программы, используется скин по умолчанию v3
  • Core Voltage (mV) – напряжение на ядро.
  • Power Limit (%) – Ограничение потребления.
  • Core Clock (MHz) – Частота ядра.
  • Memory Clock (MHz) – Частота памяти.
  • Fan Speed (%) – скорость вращения кулеров.

Утилита проста в использовании, но есть несколько особенностей в ее настройке, о которых необходимо знать, так как неподготовленный пользователь может их упустить из виду.

Настройки программы

В правом нижнем углу программы есть три кнопки:

  • Apply – применяет изменения, если кнопка активна, то необходимо подтвердить нажав её;
  • Reset – сбрасывает настройки;
  • Settings – открывает меню настроек.

Нажав кнопку Settings мы откроем меню настроек.

В первой вкладке General необходимо применить следующие пункты:

  • Synchronize settings for similar graphics processors – синхронизирует настройки для всех видеокарт, отключите эту опцию если необходимо настраивать каждую видеокарту в отдельности.
  • Start with Windows – запуск программы при загрузке системы.
  • Start minimized – опция позволяет запускать программу в системном трее.
  • Unlock voltage control – по умолчанию отключена, при активации позволяет редактировать Core Voltage (mV).
свойства afterburner
Стандартное меню свойств программы
Дополнительные пункты для AMD
Дополнительные пункты для AMD

Настройка работы кулеров

В программе удобно реализована функция настройки работы кулеров. Для настройки необходимо перейти во вкладку Fan.

Enable user defined software automatic fan control – необходимо активировать опцию автоматического контроля.

Далее можно настроить график скоростей вращения в зависимости от температур. Так как сейчас лето и температура +35 практически каждый день я выкрутил настройки на максимум вращения.

Настройка скорости вращения кулеров
Настройка скорости вращения кулеров

Температура видеокарт в среднем не поднимается выше 65 градусов в самую жаркую погоду. Для дополнительного охлаждения я использую напольный вентилятор с металлическими лопастями, модель VITEK VT-1923 CH. У вентилятора 3 режима, в первом режиме потребление составляет порядка 70 ватт, второй режим потребляет порядка 120 и третий порядка 250 ватт. Оптимальные режимы 1 и 2. Они позволяют в самую жаркую погоду скинуть порядка 6/7 градусов для видеокарты и держать температуру карт в пределах 60 градусов.

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

Вкладки Monitoring и Profiles – нас не интересуют, вкладка User Interface позволяет сменить язык, а также скин программы, разницы в них нет, используйте тот, который вам больше приглянулся.

Настройка главного меню программы

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

Главное меню программы MSI Afterburner
Главное меню программы MSI Afterburner

Автоматическая настройка скорости вращения кулеров, колонка должна быть активной, т. е. подсвечиваться зеленым цветом, а также необходимо прожать кнопку Auto. В этом случае мы получим скорость вращения в зависимости от температуры, согласно кривой в пункте Fan.

Настройка вращения кулеров в автоматическом режиме
Настройка вращения кулеров в автоматическом режиме

Также, нам необходимо сохранить настройки в профиль, для этого жмем Save и выбираем номер профиля для сохранения.

И главное, в случае если мы работаем с Core Voltage (mV), то необходимо активировать опцию «Apply overclocking at system startup», чтобы она загорелась зеленым.

Настройка для разрешения разгона при запуске программы
Настройка для разрешения разгона при запуске программы

Если этого не сделать, то напряжение ядра будет загружаться со значением по умолчанию.

Настройка для каждой видеокарты в отдельности

Для видеокарт Nvidia

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

Примите во внимание! У каждой видеокарты уникальный кристалл процессора, уникальный показатель ASIC (условное качество кристалла GPU исходя из расчетов потерь электрического тока, чем выше показатель, тем выше эффективность GPU, соответственно выше потенциал разгона), разные производители памяти (Samsung, Hynix, Elpida) – в связи с этим, универсальных настроек не существует, необходимо самостоятельно подбирать настройки для каждой карты!

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

Последовательность действий:

  1. Замеряем стоковую производительность в криптовалюте и способе майнинга;
  2. Производим постепенный разгон, шаг за шагом проверяя эффективность;
  3. Как только находим максимальную производительность при наибольшей эффективности, записываем значения для видеокарты и переходим к следующей карте.

Оптимально изменение двух параметров Core Clock (разгон по чипу) и Memory Clock (Разгон по памяти).

При избыточном разгоне видеокарта может начать работать нестабильно и потреблять значительно больше энергии. Необходимо подбирать оптимальное соотношение этих показателей. В первую очередь мы должны замерить текущее потребление видеокарты и ее производительность, далее необходимо постепенно повышать разгон тестируя показатели. К примеру, подняв разгон по чипу на +200, а память +800, мы можем добиться хорошей эффективности видеокарты и получить 20/25% прироста производительности по сравнению со стоковыми настройками.

Для разгона видеокарт от Nvidia, можно использовать в случае с Gigabyte их фирменную утилиту Xtreme Gaming Engine или MSI Afterburner.

Важно! После перезагрузки, необходимо также загружать утилиту для разгона и подгружать профили видеокарт, в противном случае видеокарты будут работать в стоковых частотах.

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

Для видеокарт AMD

Сохраняем исходный/родной биос

Первостепенно! Создаем папку в которую сохраняем исходный биос каждой видеокарты, в название файла впишите серию или номер видеокарты, чтобы не перепутать, также дополнительно можете подписать маркером каждую видеокарту, к примеру, 001, 002, 003 и т. д. И также использовать в названии файла эту маркировку.

Прошивка видеокарт

Все модификации с BIOS вы делаете на свой страх и риск, под свою полную ответственность!

Обязательно перед любыми манипуляциями с биосом необходимо сохранить исходную версию. Для работы биосом нам понадобится утилита AtiFlash.

Важно! Если у видеокарты память Elpida, то необходима версия программы, работающая с этой памятью!

Порядок действий

  1. Замеряем показания видеокарты в стоковых значениях со стоковым биосом.
  2. Модифицируем биос, замеряем показания видеокарты с модифицированным биосом.
  3. Производим разгон видеокарты, подбирая оптимальную частоту памяти, находим оптимальное значение разгона, замеряем показания видеокарты на этапах разгона.
  4. Подбираем оптимальную частоту ядра (снижая значение), чтобы снизить потребление при наиболее эффективном хэшрэйте.
  5. Даунвольтим постепенно снижая питание, сначала ограничивая питание ядру, а затем и памяти.

Приоритет:

  • Стабильность системы – система не должна вылетать, зависать.
  • Энергопотребление  не должно идти в ущерб хэшрейту.
  • Хэшрэйт – должен быть оптимальным, при минимальном потреблении.

Работа с AtiFlash

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

Если работать из оболочки, то AtiFlash не отображает больше трех видеокарт. В этом случае рекомендую модифицировать биос на каждой видеокарте в отдельности, либо использовать командную строку, если вы точно знаете, что делаете.

Работа c AtiFlash из оболочки

  • Кнопка Save сохраняет исходный или текущий биос.
  • Кнопка Load Image загружает файл биоса.
  • Кнопка Program модифицирует загруженный биос.
Главный интерфейс программы AtiFlash
Главный интерфейс программы AtiFlash

После нажатия кнопки Program, ожидаем пока программа выполнит работу, после успешного завершения появится сообщение об успешности процесса.

Оповещение об успешно выполненном процессе
Оповещение об успешно выполненном процессе

Работа с AtiFlash из командной строки

“atiflash.exe -h”

Отображает доступные команды.

Командная строка AtiFlash.exe
Командная строка AtiFlash.exe

Разбираем работу на примере команд:

AtiFlash командная строка - пример ввода команд
Командная строка AtiFlash — пример ввода команд

“cd C:\atiflash_274”

Меняем текущую директорию для работы с программой, для примера папка в корне диска C.

“atiflash.exe -i”

Отображает информацию по установленным видеокартам в системе

“atiflash.exe -s 0 backup.rom”

  • atiflash.exe — файл ATIFlash к которой обращаемся.
  • -s — «Save» ключ означающий операцию сохранения.
  • 0 — цифра ноль. Порядковый номер видеокарты, BIOS которой будет сохранен.
  • backup.rom — название файла прошивки, который сохраняем.

“atiflash.exe -p -f 0 Mod_001.rom”

  • atiflash.exe — файл ATIFlash к которой обращаемся.
  • -p — «program» ключ означающий операцию перепрошивки.
  • 0 — цифра ноль. Порядковый номер видеокарты, BIOS которой будет перепрошит.
  • -f — «force» ключ исключающий проверку ID карты если шьется «не родной» BIOS.
  • bios.rom — файл прошивки, которым прошиваем нашу карту.

Примечание:

  1. Командную строку необходимо запускать с правами администратора;
  2. Файл прошивки “bios.rom” должен лежать в одной папке с программой AtiFlash;
  3. После прошивки необходимо перезагрузить систему.

Работа с Polaris BIOS Editor

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

На что необходимо обращать внимание, если скачиваете BIOS из интернета.

  • Открываем скачанный биос в программе Polaris BIOS Editor и копируем в отдельный файл значения полей из ROM: VendorID, DeviceID, Sub ID, Sub VendorID, Firmware Signature.
  • Затем открываем стоковый биос видеокарты и сверяем эти значения, они должны полностью совпадать, если эти значения разнятся, то прошивать этим биосом НЕЛЬЗЯ, иначе из видеокарты вы получите кирпич!
Главный интерфейс программы Polaris BIOS Editor
Главный интерфейс программы Polaris BIOS Editor

Проверяем установленную память (Samsung, Hynix, Elpida), исходя из установленной памяти настраиваем тайминги. Определить производителя памяти можно с помощью утилиты GPU-Z.

Инструкция по сохранению исходного биоса видеокарты
Инструкция по сохранению исходного биоса видеокарты

Из этой же утилиты вы можете быстро сохранить исходный биос видеокарты.

Если у видеокарты память Samsung, то копируем тайминги из поля 1750 в поле 2000. Если память Hynix, то копируем из 1500 или 1625 и копируем в остальные, 1750, 2000 и т. д.

В случае если у видеокарты память Elpida, то частоты таймингов будут не читаемы, они не идут в порядке возрастания. Для данной памяти необходимо использовать PolarisBiosEditor for ELPIDA.

Порядок действий по модификации биоса:

  1. Сохраняем две копии оригинального биоса с помощью программы ATIFlash, первая копия для сохранности, вторая для работы с ней.
  2. Открываем вторую копию оригинального биоса с помощью PolarisBiosEditor, кнопка “Load”.
  3. Проверяем производителя памяти.
  4. Модифицируем тайминги памяти.
  5. Сохраняем модифицированный биос отдельным файлом.
  6. Далее, патчим видеокарту сохраненным биосом с помощью ATIFlash.

После модификации биоса будет выдано сообщение о неподписанном устройстве, в этом случае есть два решения:

В драйверах версии не выше 16.11.5, нет проверки подписи драйвера. Никаких манипуляций делать не нужно.

Если устанавливаете драйвера последней версии, то подписать их можно с помощью специального патча “AMD/ATI Pixel Clock Patcher”.

Интерфейс программы AMDATI Pixel Clock Patcher

Частые ошибки и методы решения

Проблема. При обновлении BIOS’a видеокарты компьютер или система зависают.

  • Решение. При обновлении BIOS’a видеокарты рекомендуется отключать видеокарту через «Диспетчер устройств».

Проблема. После обновления BIOS’a и перезагрузки, видеокарта отображается в системе, но не работает (код 43).

  • Решение. Скорее всего проблема в том, что установлены новые драйвера AMD, которые блокируют работу видеокарт с не подписанным BIOS’ом. Устанавливаем драйвера версии 16.11.5 или используем AMD/ATI Pixel Clock Patcher

Даунвольтинг

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

Данную программу мы сможем запускать с помощью bat файла, попутно подгружая профили видеокарт. Рекомендую настраивать каждую видеокарту по отдельности.

Программа для даунвольтинга WattTool

Расшифровка значений:

GPU:

P6-P7 – частоты ядра в MHz и потребление питания в mV. Модифицировать P1-P5 не нужно, так как видеокарта при майнинге зачастую работает на максимальных частотах.

Memory:

P1 – частота памяти в MHz и потребление питания в mV.

Fan:

Minimum (rpm) – минимальная скорость вращения кулеров.

Maximum (rpm) – максимальная скорость вращения кулеров.

Target Temp. (C) – Целевая температура видеокарты, оптимальное значение 60/65

Power:

Max Temp. (C) – максимальная температура видеокарты

Power Target (%) – Ограничение потребления в процентах, выставляем 50.

VRM Monitoring – Отмечаем для контроля температуры VRM.

Порядок действий для разгона и даунвольтинга видеокарты:

  1. Замеряем потребление и хэшрэйт в стоковых значениях.
  2. Замеряем потребление и хэшрэйт после модификации биоса.
  3. Разгоняем по памяти, постепенно поднимая значение.
    В данном пункте поднимаем находим оптимальное значение частоты памяти, устанавливаем Power Target = 50 для всех тестов, устанавливаем Target Temp. = 65
    Для памяти Samsung могут быть достигнуты значения 2100/2150, для Hynix ~2000/2050
  4. Подбираем оптимальную частоту для ядра, понижая его значение для того чтобы уменьшить потребление видеокарты.
    Находим оптимальное значение ядра при наиболее эффективном хэшрэйте. Проверяем значения с шагом в 50 MHz.
  5. Начинаем даунвольтинг понижая потребления mV.

Понижать необходимо постепенно, начать можно с 1000/1050 mV.

Допустим, начинаем с 1000, сначала проставляем значения для P6-P7 (GPU) и P1 (Memory). Тестируем если все работает без сбоев.

Далее, постепенно с шагом в 5/10 mV понижаем значения GPU до 990/995, тестируем, если работает, то понижаем до этого же значения потребление памяти.

Далее, выходим на новый круг, опять понижаем значения GPU с шагом в 5/10 (985/990), тестируем ферму, если система стабильна, понижаем также значение Memory (985/990).

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

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

  • P6-P7: 1150MHz и 950mV
  • P1: 2050MHz и 950mV
  • Minimum (rpm): 1150
  • Target Temp. (C): 60
  • Max Temp. (C): 80
  • Power Target (%): 50

После подбора оптимальных значений для видеокарты мы сохраняем профиль настроек кнопкой “Save”, для названия используйте уникальное обозначение видеокарты, к примеру, ее серийный номер.

Во время тестирования обязательно контролируйте температуру VRM, старайтесь, чтобы она не превышала значения 60/65 градусов. И по GPU, чтобы температура не превышала 65 градусов.

Также необходимо принимать во внимание, что все видеокарты разные и каждая видеокарта потребляет разные значения mV, к примеру, для видеокарт с памятью Samsung характерно большее потребление, нежели для карт с памятью Hynix, в этом случае не стоит пытаться опустить напряжение для памяти Samsung на уровень потребления Hynix. Видеокарты с памятью Samsung априори могут потреблять больше как по пяти, так и по ядру!

Важно! Запрещено выходить за границы критических напряжений в 1300mV и выше, а также для нижней границы 800mV и ниже, в любом из “P”, для GPU или Memory.

Ссылка на основную публикацию