- EVGA сломала защиту Nvidia против майнинга. Патч BIOS GeForce RTX 3080 Ti повышает хэшрейт до 90 MH/s
- В EVGA защиту от майнинга приняли за баг, и выпустили патч, исправляющий этот баг в BIOS
- О майнинге на видеокартах Nvidia в Linux и Windows
- Вкратце о подготовке к установке операционной системы xubuntu 18.04LTS
- Установка драйверов Nvidia и настройка xubuntu 18.04 под майнинг
- Разгон видеокарт Nvidia в Linux
- Модернизация BIOS видеокарт Nvidia на архитектуре Kepler для майнинга на примере Tesla K40
- Модификация BIOS видеокарт Nvidia с архитектурой Kepler программой KeplerBiosTweaker
- Прошивка модифицированного BIOS на видеокарту Nvidia
- Что делать, если был испорчен BIOS видеокарты?
- Влияние модификации BIOS видеокарт Nvidia Tesla K40 M на майнинг Ethereum
EVGA сломала защиту Nvidia против майнинга. Патч BIOS GeForce RTX 3080 Ti повышает хэшрейт до 90 MH/s
В EVGA защиту от майнинга приняли за баг, и выпустили патч, исправляющий этот баг в BIOS
Если раньше майнеры самостоятельно бились над методами обхода защиты от майнинга, реализованной Nvidia в видеокартах LHR, то сейчас даже этого не надо – вполне себе официальное решение предоставила EVGA.
Началось все с того, что пользователь американского форума Reddit заметил, что в BIOS большинства видеокарт GeForce RTX 3080 Ti есть настройка ограничения лимита мощности, и срабатывает она в том случае, когда вся память видеокарты используется целиком и максимально интенсивно. Что, собственно, и происходит во время майнинга. Однако в EVGA по какой-то причине эту «фичу» приняли за баг – и выпустили патч, его исправляющий. Пользователь установил патч, протестировал свою EVGA GeForce RTX 3080 Ti XC3 в майнинге и отметил повышение производительности сразу на 21% – хэшрейт увеличился с 66 до 80 MH/s.
Дальнейшие изыскания пользователей привели к тому, что на других видеокартах пропатченная BIOS EVGA GeForce RTX 3080 Ti позволяет поднять хэшрейт еще выше: например, Inno3D 3080 Ti iChill X3 со сторонней прошивкой показала производительность на уровне 91MH/s. Обновить микрокод видеокарт EVGA можно при помощи фирменного ПО EVGA Precision X1, ну а для сторонних видеокарт в Сети уже есть дампы пропатченной прошивки.
О майнинге на видеокартах Nvidia в Linux и Windows
Видеокарты Nvidia обычно отличаются простотой использования и надежностью. К сожалению, трехгигабайтные видеокарты Nvidia GTX 1060 по состоянию на начало 2020 года стали приносить доход даже меньше старых красных AMD R9 290.
290-е и 390-е труженики все еще способны показать себя в деле при майнинге на алгоритме Ethash под Linux, где они только немного отстают от Polaris-ов (не считая хорошего аппетита). Зеленые карты с 3 гигабайтами памяти, хоть и моложе, но пригодны только для майнинга шитков на Ethash (с малым размером DAG) и приносят небольшой доход на алгоритмах семейства Equihash. Самым прибыльным из них в настоящее время является Equihash Zero (модификация 192_7).
На операционных системах типа Windows 10 на Nvidia GTX 1063 майнинг на алгоритмах Equihash 125, 192 и ряде других запустить невозможно из-за большого объема памяти, который потребляют эти «произведения искусства» от Майкрософта. Выходом является использование Windows 7 8/8.1, но при наличии более 6 таких карт на одном риге появляется дополнительный увлекательный процесс «танцев с бубнами», который не всегда увенчивается успехом.
Лучшим выбором для постройки рига с большим количеством 1063-х карт Нвидиа является использование Линукса.
Исключением при этом является алгоритм Ethash из-за того, что поддержка страпов для видеокарт Nvidia в Claymore miner есть только для OS Windows. Благодаря включению strap-ов хешрейт при майнинге Ethereum-подобных монет на GPU Nvidia увеличивается примерно на 20%, что позволяет с успехом использовать двух и трехгигабайтные карты для криптовалют с малым DAG-ом (это удобно делать на пуле comining, о котором рассказывается в статье «Comining – лучший мультипул для майнинга монет на Ethash»).
Исходя из этого, на ригах с большим количеством видеокарт Nvidia стоит устанавливать две операционные системы. Это позволит быстро осуществлять маневр между выгодными алгоритмами майнинга на видеокартах Nvidia. При этом Linux лучше использовать для всех алгоритмов, кроме Ethash. Для Ethereum-подобных монет лучше использовать Windows и Claymore miner с модернизированными в батнике страпами памяти.
Для установки двух систем на один компьютер проще всего сразу установить ОС Windows, а затем уже Linux-подобную ось, например, xubuntu 18.04.
Операционная система xubuntu 18.04LTS является последней версией из дистрибутивов xubuntu с долговременной поддержкой (новая версия выйдет в апреле 2020 года). Она лучше уже устаревшей версии xubuntu 16.04 LTS по многим параметрам, среди которых:
- быстрее происходит инициализация и загрузка системы с большим количеством карт;
- поддерживаются последние версии драйверов, майнеров и служебных программ;
- версия 16.04 хоть уже обкатана вдоль и поперек, но она не поддерживает новых драйверов и последних пакетов для работы с OpenCL;
- система xubuntu 18.04 уже опробована в течение двух лет и большинство ее косяков уже устранены.
Вкратце о подготовке к установке операционной системы xubuntu 18.04LTS
Перед установкой системы в риге с большим количеством видеокарт желательно проверить, все ли из них правильно подключены и определяются железом. Это можно (и лучше) произвести еще до установки OS.
На материнской плате ASRock H110 BTC Pro это очень просто сделать прямо в BIOS (эта функция есть только в последних версиях Биоса).
Скриншот подменю BIOS материнской платы ASRock H110 BTC Pro на компьютере с 13 видеокартами:
Затем нужно подготовить флешку с образом системы, загрузиться с нее и установить OS, следуя подсказкам установщика. Устанавливать и настраивать систему можно как с графической оболочкой, так и без нее.
Для начинающих линуксоводов проще скачать с официального сайта дистрибутив для настольных компьютеров, в котором впоследствии при желании можно будет отключить графику и работать только в консоли.
Установка xubuntu 18.04 не представляет никаких проблем и занимает даже меньше времени, чем для Windows. Достаточно записать образ на флешку программой Etcher, загрузиться с нее и установить OS, следуя подсказкам установщика.
После установки xubuntu нужно обновиться:
Также стоит настроить систему на режим работы, при котором не нужно вводить пароль при использовании команды sudo.
Отменить запрос пароля можно командой:
Затем можно приступать к установке необходимых библиотек, драйверов Nvidia и настройке майнинга.
Установка драйверов Nvidia и настройка xubuntu 18.04 под майнинг
В операционной системе ubuntu еще до установки драйверов можно проверить правильность подключения видеокарт и определение их системой командой:
Эта команда выдаст информацию об установленных GPU в таком виде:
Затем нужно установить драйвера для видеокарт Nvidia. Проще всего это сделать из репозитория PPA.
Для добавления репозитория с базой данных о драйверах выполняют команду:
Затем выполняют команду:
По результатам ее выполнения отобразится информация о доступных для установки версиях драйверов:
vendor : NVIDIA Corporation
model : GP106 [GeForce GTX 1060 3GB]
driver : nvidia-driver-390 — third-party free
driver : nvidia-driver-410 — third-party free
driver : nvidia-driver-430 — third-party free
driver : nvidia-driver-415 — third-party free
driver : nvidia-driver-435 — distro non-free
driver : nvidia-driver-440 — third-party free recommended
driver : xserver-xorg-video-nouveau — distro free builtin
Обычно лучшим вариантом является использование последней версии драйвера, в данном случае версии 440. Для ее инсталляции выполняют команду:
В процессе установки будет скачано порядка 900 Мб данных, а сам процесс может занять несколько минут:
В конце процесса при успехе будет модифицировано ядро системы и появится заключительная строка с примерно таким содержанием:
Для проверки драйверов выполняют команду:
Она отобразит массу информации об установленных видеокартах и задействованных модулях:
После установки драйверов стоит обновить систему:
и доустановить предложенные, а также обновить существующие пакеты.
Затем нужно перезагрузиться:
и проверить успешность установки видеокарт и драйверов к ним командой:
При плохом контакте или отсутствующем подключении кабеля питания 12 вольт к видеокарте может появиться сообщение вида:
ERROR: A device’s external power cables are not properly attached
(nvidia-settings:1738): GLib-GObject-CRITICAL **: 03:18:06.675: g_object_unref: assertion ‘G_IS_OBJECT (object)’ failed
При отсутствии проблем с оборудованием и драйверами по команде nvidia-smi отображается информация о картах, установленных в системе:
Разгон видеокарт Nvidia в Linux
Для получения доступа ко всем функциям разгона, управления вентиляторами и потреблением видеокарт Nvidia выполняют команду:
и перезагружают систему.
Затем нужно создать скрпит, который будет загружаться сразу после запуска системы и применять необходимые параметры разгона, вращения вентиляторов и энергопотребления:
- sudo nvidia-smi -pl 85, число – это предел потребления видеокарты в ваттах;
- nvidia-settings -a ‘[gpu:0]/GPUMemoryTransferRateOffset значение 600 – это разгон по памяти в МГц (в Linux для памяти ставят цифру в два раза большую, чем в Windows);
- nvidia-settings -a [gpu:0]/GPUGraphicsClockOffset[3] значение 120 – это разгон по ядру в МГц;
- nvidia-settings -a ‘[gpu:0]/GPUTargetFanSpeed значение 65 – скорость вращения вентиляторов в процентах от максимума.
Для каждой следующей карты нужно добавлять строки, где вместо gpu:0 проставлять 1, 2, 3 и так далее с нужными значениями параметров оверклокинга.
Этот скрипт должен полностью выполняться до загрузки майнера, иначе (при одновременной работе с майнером) его полное выполнение может затянуться на очень долгое время.
Для обеспечения полной отработки скрипта разгона в параметрах скрипта запуска майнера нужно задать необходимую отсрочку запуска командой sleep.
Теперь система готова для майнинга. Для полноценного использования в ней еще нужно обеспечить автозапуск разгона и майнеров, отключить графику и обеспечить дистанционное управление, но это тема отдельных статей.
Модернизация BIOS видеокарт Nvidia на архитектуре Kepler для майнинга на примере Tesla K40
Некоторые видеокарты Nvidia, выпущенные достаточно много лет назад, до сих пор обладают неплохими техническими характеристиками. Например, профессиональный графический ускоритель Tesla K40 имеет 12 GB видеопамяти, а Tesla K80 — 24 гигабайта!
С помощью майнера ethminer 0.19+ на видеокарте Tesla K40 при майнинге Ethereum в 2022 году на штатных настройках можно добиться хешрейта порядка 12-16 MH/s. При этом наблюдается полная загрузка видеоядра и очень слабая загруженность подсистемы видеопамяти. Следовательно, для увеличения хешрейта нужно разогнать до максимума графическое ядро.
К сожалению, средства, обычно использующиеся для разгона видеокарт Nvidia, например, программа nvidia inspector, либо MSI Afterburner в Windows, или утилита nvidia-smi в Linux, не всегда помогают выжать все соки из адаптеров Tesla K. Возможно, при использовании нужной версии драйверов возможность полноценного управления этими ускорителями становится доступной, но иногда проще воспользоваться другими средствами.
Для более полного раскрытия возможностей видеокарт часто помогает модификация их BIOS. В случае использования видеокарт Tesla K можно попробовать раскрыть их потенциал с помощью программы KeplerBiosTweaker.
Модификация BIOS видеокарт Nvidia с архитектурой Kepler программой KeplerBiosTweaker
Процесс модификации BIOS видеокарт заключается в выполнении нескольких шагов:
- производится извлечение и сохранение резервной копии BIOS видеокарты;
- с помощью специальной программы или HEX-редактора производится модернизация микропрограммы BIOS;
- новая версия BIOS прошивается в видеокарту, производится перезагрузка системы, после чего графический адаптер должен радовать пользователя новыми возможностями.
Иногда к этим шагам необходимо добавить дополнительные действия, например, разблокировать возможность прошивки, применить патч драйверов и т.д.
При неудачной прошивке может потребоваться программатор или загрузка компьютера с другой, заведомо исправной картой в качестве основной, с последующим восстановлением прошивки испорченного адаптера.
Для видеокарт с ядром Kepler модернизация и прошивка vBIOS обычно происходит в три этапа, без описанных выше дополнительных действий.
BIOS любой видеокарты в Windows можно сохранить с помощью программы GPU-Z:
Для редактирования BIOS видеокарт Nvidia с архитектурой Кеплер в Windows можно использовать утилиту Kepler Bios Tweaker версии 1.27:
Эта программа позволяет осуществлять модификацию VBIOS графических адаптеров NVIDIA Kepler. К ним относятся видеокарты GeForce GTX 600-й серии, например, GTX 690, GTX 680, GTX 670, GTX 660, модели GeForce GTX 700-й серии, включая GTX 780 Ti, GTX 780, GTX 770, GTX 760, а также профессиональные ускорители Tesla серии K.
С помощью твикера BIOS можно изменить штатные частоты, на которых работает ядро и память видеокарты, отредактировать вольтаж, лимит Boost, режим работы вентиляторов и Power Limit.
У видеокарт Nvidia Tesla K40M используются следующие штатные установки BIOS:
Для майнинга можно увеличить значения TDP Base Clock, 3D Base Clock, Boost Clock и Memory Clock.
Точное значение частоты, на которой может работать видеочип разнится в зависимости от качества конкретного кристалла. Оценить разгонный потенциал чипа (в данном случае GK110) можно с помощью программы GPU-Z на вкладке Advanced – ASIC Quality (больше рейтинг — лучше):
Большинство видеочипов легко разоняется на 10-15%, поэтому для майнинга можно установить частоту TDP Base Clock/3D Base Clock и Boost Clock, равную 900-1000 MHz. Возможно, некоторые видеокарты смогут работать и на более высокой частоте, а некоторые не смогут взять и этого барьера. Если использовать производительную систему охлаждения, то теоретически можно увеличить вольтаж на ядре видеокарты Nvidia Tesla K40 и поднять его частоту еще выше (до1250 MHz).
Разгонный потенциал памяти видеоадаптера можно оценить исходя из маркировки установленных на видеокарте чипов. Так как память ускорителей Тесла К хорошо разгоняется программным способом с помощью утилит, перечисленных выше, корректировать значение Memory Clock в BIOS не обязательно. Тем не менее, для сведения к минимуму последующих операций по разгону, в BIOS можно увеличить штатную частоту VRAM на 5-10%.
Пример модифицированного для майнинга BIOS видеокарты Nvidia Tesla K40M (вкладка Common):
Кроме модификации значений частоты на вкладке Common, нужно:
- сдвинуть до того же значения ползунок частоты на вкладке Boost Table:
- отредактировать значения Max GPC и Max SYS в колонке Boost States профиля P00 (выставить здесь частоту, соответствующую заданной ранее в Boost Table):
- сохранить модифицированный BIOS (кнопка Save BIOS As) и прошить его в видеокарту.
Прошивка модифицированного BIOS на видеокарту Nvidia
Прошить/скопировать модифицированную/исходную микропрограмму BIOS видеокарты Nvidia в операционных системах Windows, Linux и QNX можно консольной утилитой NVIDIA NVFlash. На компьютере с несколькими видеокартами предварительно нужно узнать номер прошиваемого видеоускорителя.
Вывести список подключенных адаптеров с помощью программы nvflash64 можно командой:
Перед прошивкой карты в Windows нужно ее отключить в диспетчере устройств. Для прошивки файла BIOS под названием k40mod.rom в 64-разрядной Windows нужно использовать следующую команду (для видеокарты номер 1):
Программа покажет текущий BIOS (строка Current), а также версию новой микропрограммы (строка Replace with):
В Linux по команде
дополнительно отображается информация об установленной на видеокарте микросхеме флеш-BIOS:
Прошивка начнется сразу после нажатия кнопки подтверждения (буква «y» на английской раскладке):
При прошивке нужно быть внимательным, чтобы не прошить BIOS в другую видеокарту, так как после этого придется восстанавливать ее прошивку.
В Windows перед прошивкой BIOS нужно отключить видеокарту в диспетчере устройств.
Иногда прошивка заканчивается ошибкой Nothing changed (в данном случае была произведена попытка записи прошивки от Tesla K40M в видеокарту Nvidia GT730):
Если при прошивке BIOS в Windows появляется ошибка
нужно перезагрузить компьютер, а также проверить наличие ключа -6 в строке запуска nvflash.
Если это не помогает, то лучше использовать операционную систему с ядром Linux, используя программу nvflash и те же команды в режиме суперпользователя.
Что делать, если был испорчен BIOS видеокарты?
При экспериментах с BIOS нужно быть готовым к неудаче, которую в самых тяжелых случаях придется исправлять программатором, например, RT809F или ему подобным.
Перед прошивкой программатором, можно попробовать восстановить vBIOS путем загрузки компьютера с другой, исправной видеокартой в качестве основной. В этом случае процесс прошивки видеокарті с испорченным BIOS аналогичен процедуре, используемой для прошивки в системах с несколькими видеокартами.
При прошивке BIOS программатором, чтобы не заниматься выпаиванием микросхем с платы, удобно иметь переходник, подходящий для работы с чипами флеш-BIOS, например, Flash BIOS Chip Fixture Probe «Huarong» нужного размера:
Влияние модификации BIOS видеокарт Nvidia Tesla K40 M на майнинг Ethereum
До модификации BIOS графический ускоритель Nvidia Tesla K40M на алгоритме ethash при майнинге монет с небольшим DAG (100-я эпоха, например, TSF) обеспечивал хешрейт около 13.3 MH/s (ethminer 0.19, Windows 10, драйвер 472.12, 32 GB RAM):
Загрузка GPU и VRAM при майнинге на штатном BIOS:
После модификации BIOS (разгон ядра до 1006 МГц, память +200 МГц) эта же видеокарта стала майнить со скоростью 16-18 MH/s (рост хешрейта до 26%):
На алгоритме cn_gpu хешрейт вырос с 460 до 560 h/s (программа xmr-stack).
Дополнительно увеличить производительность видеокарт Tesla K в Windows можно, отключив error correction в программе NVIDIA Control Panel:
В операционных системах с ядром Linux безо всяких ухищрений прошитая видеокарта Тесла К40 выдает больше 19 MH/s (xubuntu 18.04, ethminer 0.19.0.10):
Учитывая солидный возраст адаптеров Nvidia Tesla K, хешрейт, достигнутый после доработки BIOS, не так уж и плох. Если произвести более тонкую подстройку параметров работы видеокарты, увеличить вольтаж и частоту ядра, можно добиться и лучшего результата…