Майнинг,  Статьи

О майнинге на видеокартах 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 apt update && sudo apt -y upgrade && sudo apt -y dist-upgrade && sudo apt -y autoremove

Также стоит настроить систему на режим работы, при котором не нужно вводить пароль при использовании команды sudo.

Отменить запрос пароля можно командой:

echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dont-prompt-$USER-for-password

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

Установка драйверов Nvidia и настройка xubuntu 18.04 под майнинг

В операционной системе ubuntu еще до установки драйверов можно проверить правильность подключения видеокарт и определение их системой командой:

sudo lspci -vnn | grep -i VGA -A 12

Эта команда выдаст информацию об установленных GPU в таком виде:

Затем нужно установить драйвера для видеокарт Nvidia. Проще всего это сделать из репозитория PPA.

Для добавления репозитория с базой данных о драйверах выполняют команду:

sudo add-apt-repository ppa:graphics-drivers/ppa

Затем выполняют команду:

ubuntu-drivers devices

По результатам ее выполнения отобразится информация о доступных для установки версиях драйверов:

== /sys/devices/pci0000:00/0000:00:1d.0/0000:05:00.0 ==

modalias : pci:v000010DEd00001C02sv00001462sd00003287bc03sc00i00

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. Для ее инсталляции выполняют команду:

sudo apt install nvidia-driver-440

В процессе установки будет скачано порядка 1 GB данных, а сам процесс может занять несколько минут:

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

update-initramfs: Generating /boot/initrd.img-5.3.0-26-generic

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

sudo lspci -vnn | grep -i VGA -A 18

Она отобразит массу информации об установленных видеокартах и задействованных модулях:

После установки драйверов стоит обновить систему:

sudo apt upgrade

и доустановить предложенные, а также обновить существующие пакеты.

Затем нужно перезагрузиться:

sudo reboot

и проверить успешность установки видеокарт и драйверов к ним командой:

nvidia-smi

При плохом контакте или отсутствующем подключении кабеля питания 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-xconfig -a --cool-bits=31 --allow-empty-initial-configuration --enable-all-gpus

и перезагружают систему.

Затем нужно создать скрпит, который будет загружаться сразу после запуска системы и применять необходимые параметры разгона, вращения вентиляторов и энергопотребления:

#!/bin/sh
sudo nvidia-smi -pm 1
sudo nvidia-smi -pl 85
nvidia-settings -a '[gpu:0]/GPUMemoryTransferRateOffset[3]=600';
nvidia-settings -a '[gpu:0]/GPUGraphicsClockOffset[3]=120' ;
nvidia-settings -a '[gpu:0]/GPUPowerMizerMode=1';
nvidia-settings -a '[gpu:0]/GPUFanControlState=1';
nvidia-settings -a '[fan:0]/GPUTargetFanSpeed=65'

В строках:

  • 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.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *