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

Компиляция программы xmrig с плагином для видеокарт Nvidia

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

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

Рассмотрим подробнее процесс создания из исходного кода исполняемого файла майнера xmrig с поддержкой CUDA.

Как скомпилировать майнер Xmrig с поддержкой технологии CUDA?

Для компиляции майнера xmrig с поддержкой видеокарт Nvidia нужно выполнить следующие шаги:

  • скачать и разархивировать в папку C:\XMR исходный код майнера xmrig;
  • скачать и разархивировать в папку C:\xmrig-deps библиотеки xmrig-dependencies;
  • скачать, установить и обновить компилятор MSYS2;
  • скачать, установить набор утилит CMake;
  • скомпилировать майнер xmrig по методике, описанной в статье «Компиляция майнера XMRig для ОС Windows». Перед компиляцией нужно включить поддержку технологии CUDA («Enable CUDA backend» ON) и поддержку библиотеки NVML («Enable NVML (NVIDIA Management Library) support (only if CUDA backend enabled)» ON);
  • скачать и разархивировать в папку с майнером архив, соответствующий выбранной версии технологии CUDA;
  • настроить батник (добавить опцию cuda и (для Linux) cuda-loader=/путь к файлу/libxmrig-cuda.so) и наслаждаться майнингом.

Далее размещена информация о поэтапной компиляции майнера xmrig с поддержкой видеокарт Nvidia.

Скачивание архива с исходниками майнера:

Распаковка исходников майнера из скачанного архива xmrig-… в папку XMR:

Все файлы-исходники майнера должны находиться именно в папке XMR:

Открываем для редактирования файл CMakeLists.txt:

Включаем/выключаем необходимые опции в файле CMakeLists.txt:

При желании, редактируем размер комиссии в файле donate.h по пути C:\XMR\src

Скачивание зависимостей:

Распаковка xmrig-deps в папку C:\xmrig-deps:

Скачивание и установка компилятора МСИС2 и набора утилит СиМейк подробно описаныв статье «Компиляция майнера XMRig для ОС Windows».

Компиляция майнера с поддержкой CUDA:

cd C:\XMR && mkdir build && cd build && cmake .. -G «Unix Makefiles» -DXMRIG_DEPS=c:/xmrig-deps/gcc/x64 && make

Конец компиляции майнера xmrig в программе MSYS2 под Windows:

Исполняемый файл майнера (в данном случае xmrig-notls) записывается компилятором в папку C:\XMR\build:

Выбираем версию CUDA, соответствующую установленным драйверам (по таблице в статье О технологии многопотоковых вычислений CUDA в видеокартах компании Nvidia):

Драйвера 388.71 согласно таблице поддерживают версию CUDA 9.0:

Скачивание плагина CUDA 9.0:

Копирование файлов плагина CUDA для вставки в директорию с майнером xmrig:

Директория майнера xmrig с библиотеками для рабоыт с CUDA:

При выборе версии CUDA следует руководствоваться установленными драйверами Nvidia (список соответствий версии CUDA и видеодрайверов Nvidia есть в статье «О технологии многопотоковых вычислений CUDA в видеокартах компании Nvidia»). Теоретически более новая версия CIUDA должна давать более высокую производительность, но на практике это не всегда так.

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

Пример батника xmrig с поддержкой CUDA для Windows:

@echo off

xmrig-notls.exe -a cn-heavy/tube -ocryptonight_saber.mine.zergpool.com:4446 -u 15xWA28oEzGmUcRZ9k1aGju3zLYEEa27uP -p c=BTC,45-1050Ti -k --donate-level=0 --cuda --no-cpu --keepalive

pause

Скриншот майнера xmrig, управляющего видеокартой Nvidia GTX1050Ti:

Разгон и даунвольтинг видеокарт в Windows лучше всего делать программой nvidiainspector.

Пример скрипта для запуска xmrig с поддержкой видеокарт Nvidia в Linux:

sudo ./xmrig-notls -a cn-heavy/tube -o cryptonight_saber.mine.zergpool.com:4446 -u адрес_кошелька -p c=BTC,воркер -k --donate-level=0 --keepalive --cuda --cuda-loader=/путь к файлу/libxmrig-cuda.so --no-cpu

Разгон видеокарт в ubuntu можно делать с помощью утилиты nvidia-smi, встроенной в драйвера командами (скриптом):

#!/bin/sh

sudo nvidia-smi -pm 1

sudo nvidia-smi -pl 75

nvidia-settings -a '[gpu:0]/GPUMemoryTransferRateOffset[3]=600';

nvidia-settings -a '[gpu:0]/GPUGraphicsClockOffset[3]=130';

nvidia-settings -a '[gpu:0]/GPUPowerMizerMode=1';

nvidia-settings -a '[gpu:0]/GPUFanControlState=1';

nvidia-settings -a '[fan:0]/GPUTargetFanSpeed=65';

Скриншот майнера xmrig, управляющего 11 видеокартами Nvidia:

При появлении в майнере ошибки:

…incompatible/disabled algotithm detected , reconnect … login error code: 6

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

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

Также эта ошибка иногда возникает при отключенном от майнинга процессоре (опция no-cpu). Хотя xmrig при включении CPU перестает выдавать ошибку incompatible/disabled algotithm detected , reconnect … login error code: 6, он все равно может отказаться работать с видеокартами Nvidia на некоторых алгоритмах, выдавая ошибку no suitable configuration found:

Это связано с малой эффективностью работы видеокарт Nvidia на некоторых алгоритмах и отсутствии оптимальных конфигураций для них в коде майнера.

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

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

English EN French FR German DE Russian RU Spanish ES