Майнинг

Майнинг в программе ethminer на поздних эпохах DAG в операционной системе Linux

В связи с постоянным увеличением размера данных DAG а алгоритме Ethash, который используется при вычислениях в Ethereum-подобных блокчейнах, при приближении DAG к 4 Гб отвалятся от майнинга монет ETC и ETH видеокарты производства компании AMD.

Это коснется не только четырехгиговых, но и других GPU с большим объемом памяти из-за проблем в реализации многопотоковых вычислений в технологии OpenCL и официальных драйверах AMD.

Разработчики майнера с открытым исходным кодом ethminer уже решили проблему большого DAG путем разбиения его на части. Это отличный майнер без комиссии, поддерживающий майнинг с устройствами, поддерживающими технологии OpenCL (для видеокарт AMD) и Nvidia CUDA, имеющий правдивое отображение статистики и ряд необходимых для майнинга функций, включая поддержку failover-пулов.

Благодаря отсутствию комиссии (devfee), использование последних версий ethminer оправданно не только с точки зрения поддержки больших DAG, но и в системах со старыми видеокартами AMD.

Например, Radeon R9 290/390 с 4-8 гигабайтами памяти, которые уже не являются приоритетом для разработчиков майнеров, до сих пор способны неплохо майнить на алгоритме Ethash (подробнее в статье «Как добиться от видеокарт Radeon R9 290/390 хешрейта 29-30 Mh/s на Ethash»). Использование технологии DAG-split в майнере ethminer позволяет увеличить продолжительности майнинга GPU с 4 Gb на Ethash algo на 3-3,5 месяцев!

Для того чтобы максимально использовать возможности этого открытого майнера, лучше самостоятельно провести его компиляцию, а также произвести сборку ядра для использующихся видеокарт. Для обычных пользователей это сделать довольно сложно, поэтому готовый Ethminer для Linux (Ubuntu разных версий) проще скачать с репозитория hiveos:

Такой, немного странный процесс получения майнера, связан с тем, что в официальном разделе ethminer на Github нет выложенной (скомпилированной) последней версии.

Для майнинга в программе ethminer в (x)ubuntu можно использовать такой скрипт:

#!/bin/sh

export GPU_FORCE_64BIT_PTR=0

export GPU_MAX_HEAP_SIZE=100

export GPU_USE_SYNC_OBJECTS=1

export GPU_MAX_ALLOC_PERCENT=100

export GPU_SINGLE_ALLOC_PERCENT=100

sudo ./ethminer --farm-recheck 200 -G -P stratum+tcp://кошелек.воркер@eu1.ethermine.org:4444

Скриншот майнера ethminer при майнинге Ethereum на трех видеокартах AMD Radeon R9 290 (хешрейт 28-29 mh/s на 336-й эпохе, DAG равен 3,68 Гб):

Если добавить в скрипт параметр

--api-bind 192.168.2.46:3333

где 192.168.2.46 – локальный адрес рига,
то можно мониторить работу майнера по сети в любом браузере, если создать html-файл с таким содержимым:

<html>
<body bgcolor=gray>
<table border=0>
<tr>
<td> <iframe src="http://192.168.2.46:3333" width="950px" height="590px"> </iframe> </td>
</tr>
</table>
</body>
</html>

Скриншот окна мониторинга майнинга в программе ethminer  в браузере по локальной сети:

Майнинг в программе ethminer дает на Ethash хешрейт, сравнимый с другими майнерами, но без комиссии (Phoenix – 0.65%, Claymore – 1%, Teamredminer – 0,75-1%, Nbminer – 1%).

Периодические спады хешрейта при использовании Phoenix Miner, вызванные работой майнера на разработчика (0,65%, 35 секунд каждые 90 минут):

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

График хешрейта в майнере ethminer немного более гладкий по сравнению с Phoenix Miner при одинаковой скорости майнинга:

Кроме описанных преимуществ, ethminer дает возможность максимально долго майнить на любых картах AMD, используя всю доступную видеопамять. Ее объем можно увидеть с помощью команды:

./ethminer --list-devices

В ethminer версий старше 0.19.0+ доступна практически вся имеющаяся видеопамять, хотя отображение в консоли может быть и некорректным.

Например, у R9 290 с 4 Gb памяти доступны 3,98 гигабайт, хотя в терминале показано 0 байт доступной памяти (доступна максимальная эпоха №374 с DAG 3,98 Гб).

Скриншот доступной памяти у R9 290 в версии ethminer 0.19.0+nhfix (последний релиз в дистрибутиве hiveos):

В старых версиях ethminer на этих же картах доступно всего 3,74 гигабайт памяти (максимальная доступная эпоха DAG – примерно 350).

Скриншот доступной памяти в версии ethminer 0.19.0-alpha (последний официальный скомпилированный релиз):

Новый ethminer позволяет использовать четырехгигабайтные карты на 24 эпохи дольше – вплоть до 374-й epoch, а 8-гигабайтные – не только до 380-й епохи, но и еще несколько лет до полного заполнения их видеопамяти.

Проверка максимально доступной эпохи при майнинге на Ethash

Для запуска бенчмарка на заданной эпохе DAG в ethminer нужно использовать команду:

./ethminer -M 374

где число 374 – номер тестирующейся эпохи для определенного размера ДАГ

или

./ethminer -M 11220000

где число 11220000 – номер тестирующегося блока (в данном случае соответствует 374-й эпохе).

Скриншот бенчмарка ethminer версии 0.19.0+nhfix на эпохе 374 (размер DAG 3,98 Гб):

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

Старые версии ethminer (до 0.19.0-alpha включительно) на эпохе 374 (блок 11220000) не работают, при запуске бенчмарка командой ethminer -M 11220000 возникает ошибка Creating DAG buffer failed: clCreateBuffer: CL_INVALID_BUFFER_SIZE (-61):

Как видно из скриншота, майнер пытается создать DAG-буфер, но возникает ошибка OpenCL, которая обходится в новых версиях ethminer путем разделения DAG-файла.

В новой версии программы ethminer 0.19.0+nhfix бенчмарк на блоке 11220000 (та же 374-я эпоха) идет успешно, остается еще 7,27 мегабайт свободной видеопамяти (для каждой эпохи нужно 8 Мб):

Исходя из вышеизложенного, можно сделать следующие выводы:

  • в программе ethminer 0.19.0+nhfix в Linux-подобных системах можно майнить на видеокартах AMD с 4 ГБ памяти на алгоритме Ethash на эпохах до 374-й эпохи включительно. Ориентировочно можно будет добывать монеты ETC – до 14.09.2020, ETH – до 10.11.2020. Это – на 3,5 месяцев дольше, чем в старых майнерах, не поддерживающих технологию split-DAG;
  • в старых версиях ethminer (и других майнерах без разбиения DAG) можно будет майнить до примерно 350-й эпохи (ETC – до начала июня 2020, ETH – середина июля 2020);
  • видеокарты AMD с памятью объемом 8 гигабайт в новых майнерах с технологией DAG-split будут майнить еще много лет до полного заполнения их памяти;
  • в операционной системе Windows выигрыш от использования технологии DAG-split на картах с 4 Гб памяти нивелируется ограничениями драйверов/ОС, излишне резервирующими видеопамять.

P.S. Phoenix Miner 5.0b+ добавил костыль, позволяющий использовать всю доступную память на четырехгиговых картах AMD. Для активации нужно добавить в батник команду:

-dagrestart 2

3 комментария

  • cryptoprofi

    Спасибо за Вашу оценку! Стараемся писать о том, что интересно самим, а не для индексирования ботами/поисковыми машинами.

  • Sergey

    DAG-split можно уже не использовать. В последнем нашем релизе RaveOS мы сняли это ограничение и теперь все майнеры могут работать…

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

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