Linux gpu miner nvidia

О майнинге на видеокартах 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.

Читайте также:  Windows time service register

На материнской плате 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.

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

Источник

Компиляция майнера xmrig-nvidia в Linux для видеокарт, поддерживающих старые версии CUDA

Относительно старые видеокарты Nvidia, например, GeForce GT770, имеют неплохую теоретическую производительность при проведении операций с плавающей запятой (у GT770 она равна 138.9 GFLOPS).

Это немного меньше, чем GeForce GTX 1660 SUPER (157.1 GFLOPS) и больше, чем у Nvidia GTX 1066 (136.7 GFLOPS).

В связи с этим видеокарты уровня GeForce GT770 теоретически должны демонстрировать схожий с GTX 1660S/ GTX 1060 хешрейт на алгоритмах, использующих до 2 GB VRAM.

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

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

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

При желании каждый может произвести нехитрые манипуляции и скомпилировать майнер с открытым исходным кодом под старую версию CUDA.

В настоящее время такая манипуляция возможна для майнера xmrig и его клонов.

В статье рассматривается процесс компиляции майнера xmrig-nvidia 2.14.5 с включением поддержки технологии CUDA 8.0 (compute capability 3.0).

Как скомпилировать майнер для видеокарт, поддерживающих устаревшую версию технологии CUDA?

Для сборки майнера xmrig-nvidia (а также любой другой программы для видеокарт Nvidia) нужно:

  • установить нужную версию CUDA SDK на компьютер;
  • скачать исходный код майнера;
  • установить нужные пакеты в системе;
  • сконфигурировать код программы нужным образом и собрать из него исполняемый файл майнера.

Некоторые особенности установки CUDA SDK

При выборе CUDA SDK нужно учитывать, что старые видеокарты требуют использования пакета SDK совместимого с установленными драйверами, а также учета их compute capability, например:

  • версии CUDA 9 (включительно) и выше не поддерживают вычисления на видеокартах Nvidia с архитектурой Fermi. Для них нужно устанавливать восьмую версию CUDA, которая в Linux использует драйвера 375.26;
  • видеокарты с архитектурой Kepler поддерживаются до версии CUDA SDK 10.2 включительно (Linux драйвера от 440.33 включительно до 450.36.06 исключительно);
  • CUDA 7.5 и ниже не поддерживает видеокарты с архитектурой Pascal (GTX1000-й серии в Linux поддерживаются только начиная с драйверов 352.31).

Для компиляции и запуска майнинга на видеокартах типа Nvidia GeForce GT770 (архитектура Kepler) нужно использовать версию CUDA SDK не новее 10.2, а также драйвера до версии 450.36.06 исключительно, но новее 440.33.

Установка CUDA SDK 10.2 и патчей делается отсюда (Samples при установке ставить не обязательно).

Читайте также:  Ssh refusing connection linux

Если планируется использование видеокарт с ядром Fermi, то нужно использовать CUDA SDK не новее CUDA SDK 8.0, а также драйвера версий от 375.26 (включительно) до 375.26 (исключительно).

Установка CUDA SDK 8.0 делается отсюда.

При инсталляции набора инструментов разработчика CUDA обычно производится и установка подходящих драйверов (они входят в состав SDK). Если используется установочный скрипт с официального сайта Nvidia, то установку драйвера нужно делать при отключенном x-сервере, из консоли TTY.

Если в системе уже установлены драйвера Nvidia, то при установке CUDA SDK нужно снять выделение, отвечающее за установку базовой версии драйвера.

В новой системе предварительно нужно отключить Nouveau kernel driver, иначе установка с помощью скрипта будет завершаться с ошибкой.

Отключение драйвера Nouveau делается следующими действиями:

создается файл blacklist-nouveau.conf, например, командой

в него вносится текст:

и выполняется перезагрузка

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

Сборка майнера xmrig-nvidia из исходного кода

Компиляция майнера xmrig-nvidia производится из исходного кода (скачивается с Github) путем последовательного выполнения команд по установке необходимых пакетов и сборке майнера.

Нужные пакеты устанавливаются командой:

sudo apt-get install git build-essential cmake libuv1-dev nvidia-cuda-dev nvidia-cuda-toolkit libmicrohttpd-dev libssl-dev

Скачивание кода майнера произвордится командой:

Затем производится переход в папку со скачанными исходниками, создается папка build:

После этого запускается генерация файлов управления сборкой на основе директив, прописанных в CmakeLists.txt:

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

В качестве числовых значений переменной DCUDA_ARCH= нужно указать версии архитектуры видеокарт, которые будут поддерживаться майнером в соответствии с compute capability видеокарт (подробнее о соответствии версий CUDA и драйверов в статье «О технологии многопотоковых вычислений CUDA в видеокартах компании Nvidia»).

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

  • -DWITH_AEON=OFF (выключение поддержки CryptoNight-Lite);
  • -DWITH_HTTPD=OFF (сборка майнера без встроенного http сервера и API);
  • -DUV_LIBRARY=/usr/lib/x86_64-linux-gnu/libuv.a (использование статической версии libuv);
  • -DCUDA_TOOLKIT_ROOT_DIR= (путь к CUDA SDK на компьютере, на котором производится сборка майнера, для CUDA SDK 8.0 это /usr/local/cuda-8.0).

При успешном выполнении команды cmake появятся строки:

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

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

По окончанию сборки появится сообщение:

Готовый файл майнера будет находиться в каталоге build:

При использовании старых видеокарт Nvidia особый интерес вызывает майнинг на алгоритме CN_GPU, так как GPU с поддержкой многопотоковых вычислений CUDA обычно неплохо себя показывают на этом algo и некоторых других разновидностях Cryptonight.

Пример скрипта для запуска майнера xmrig-nvidia в Linux для майнинга на алгоритме cn_haven на видеокарте Nvidia:

Успешная работа видеокарты Nvidia GT770 в самостоятельно скомпилированном майнере xmrig-nvidia с поддержкой CUDA 8.0 в xubuntu 16.04, драйвер 384.130 (майнинг на алгоритме cn_haven):

На алгоритме CN_GPU майнер xmrig-nvidia с поддержкой CUDA 8.0 на Nvidia GT770 выдает 270 h/s (к видеокарте подключен монитор):

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

Благодаря установке CUDA SDK 8.0 на компьютере можно самостоятельно компилировать и другие майнеры с открытым исходным кодом, например, verthashminer, ethminer, xmrig, XMR-Stack, ccminer и другие.

Источник

Оцените статью