Доброго времени, уважаемые форумчане.
В настоящее время, когда доходность монет стремительно падает, дуал-майнинг ERG + KAS остаётся относительно прибыльным. Несмотря на то, что Kryptex давно добавил в приложение такой способ майнинга, и для многих из нас он стал привычным, мне захотелось немного поумничать порассуждать на тему оптимизации разгона видеокарт (ВК) под него. Особенно это актуально, когда доход сопоставим с расходами на электричество.
Возможно, опытным майнерам данное сочинение покажется чрезмерно подробным, но я ориентируюсь больше на новичков или просто любопытствующих, так как сам примерно из этой категории и учусь по ходу дела.
1. Исходные данные и первичная оптимизация.
В качестве подопытной выступает видеокарта 3060 от Palit.
Оценим её доходность без разгона и далее пройдёмся по разным аспектам, постепенно усложняя разгон. Конечной целью всего эксперимента является получение максимального чистого дохода (доход минус расход на электричество).
Поскольку эксперимент длится долго (не один час), то за это время могут поменяться (и меняются) курсы монет и сложность, что оказывает негативное влияние на чистоту эксперимента.
Для исключения такого эффекта я заранее посчитал условную стоимость одного MH/s для каждого алгоритма, путём деления отображаемого в приложении дохода за месяц на количество мегахешей. Таким образом, далее я работаю как бы с фиксированными курсами, избавляясь от волатильности, тем более, что нас здесь волнует результат скорее в относительном выражении, чем в абсолютном.
Итак, первый этап: последовательно задаются только частоты ядра, память остаётся на базовой частоте 7300 МГц. Результаты и аргументы приведены в таблице 1.
Таблица 1.
Сразу поясню, что мы наблюдаем в таблице. Частота ядра задаётся аргументами майнера, в нашем случае применён аргумент
--lock_cclock
, что можно перевести как «зафиксировать частоту ядра». О том, что такое аргументы и как их использовать читайте здесь:
Смещение частоты ядра не задано (понадобится нам в дальнейшем), частота памяти не задана и находится на базовом уровне 7300 МГц. Напряжение ядра приведено для справки, видеокарта выставляет его сама. Скорость вентиляторов --fan
выставлена на 75 процентов.
Как мы можем видеть, в стоковом состоянии (выделено красным) видеокарта работает самым худшим образом, расходуя чрезмерно много энергии, в результате чего весь заработок уходит на оплату электричества. Так что, если у вас платное электричество, оставить карту майнить «из коробки» не самая хорошая идея. Лучший же результат, как нетрудно догадаться, выделен зелёным цветом. Мы получили простейший разгон, при котором не только не уходим в минус по заработку, но и остаёмся в плюсе, что уже очень неплохо. Однако не будем останавливаться на достигнутом.
2. Память.
На форуме имеет место мнение, что при майнинге ERG + KAS следует увеличивать частоту памяти, поскольку ERG лучше майнится с разогнанной памятью. Поэтому следующим нашим шагом будет улучшить производительность видеокарты путём увеличения частоты памяти.
Обычно память версии 6 и 6x нормально воспринимает разгон на +1200 МГц. Выше этого значения, в зависимости от конкретной модели ВК, могут быть проблемы. Так что, теперь выставим частоту памяти нашей ВК 7300 МГц + 1200 МГц = 8500 МГц и будем работать на такой частоте.
Делается это с помощью аргумента --mclock
, который можно перевести как «частота памяти». Данный аргумент смещает частоту на указанное количество мегагерц, то есть сейчас это именно то, что нам нужно. Одновременно с этим пройдёмся по частотам ядра, как в первой таблице, чтобы понимать, какое сочетание разгона ядра и памяти будет наилучшим. Результаты и аргументы приведены в таблице 2.
Таблица 2.
Мы видим, что теперь оптимальный результат сместился на другую частоту ядра и он действительно оказался лучше, чем в первый раз (112 рублей против 100), когда мы манипулировали только лишь частотой ядра. Теперь наш разгон стал более сложным, правда, результат немного разочаровывает, ведь в прошлый раз скачок прибыли был трёхкратным, а сейчас он составил лишь небольшой прирост. Но у нас есть шанс улучшить и этот результат. Попробуем зайти с другой стороны и вместо наращивания количества мегахешей, будем уменьшать потребляемую мощность, что выгодно сразу по нескольким причинам: уменьшение оплаты за электричество, снижение температуры ВК, снижение скорости вентилятора, уменьшение шума, уменьшение вероятности выгорания разъёмов дополнительного питания ВК (у топовых моделей), продление ресурса ВК.
Есть два известных мне пути снижения мощности потребляемой ВК, без существенного снижения хешрейта. Первый – снижение частоты памяти. Мы уже убедились, что увеличение частоты памяти не дало существенного прироста прибыли, поэтому есть смысл попытаться, наоборот, снизить частоту памяти, чтобы снизить потребляемую мощность. Второй путь – даунвольтинг ядра, то есть снижение его напряжения питания при сохранении рабочих частот, но об этом позже. Есть ещё возможность регулировки power limit, то есть изменение мощности напрямую, но фактически это почти то же самое (на мой взгляд), что регулировка частот ядра и памяти (при которых можно тоньше манипулировать производительностью ВК), поэтому я его не использую.
Снижать частоту памяти будем сразу на конкретное значение, поскольку существует некоторый ряд фиксированных частот, соответствующих режимам работы ВК (я не очень вдавался в тему относительно режимов работы P0, P2, P3 и т.п.). Ходовые частоты в нашем случае это 5000 МГц и 810 МГц. Скажу сразу, что при частоте памяти 810 МГц дуал-майнинг либо не работает либо работает крайне плохо, поэтому мы воспользуемся частотой 5000 МГц. Выставляется она с помощью аргумента --lock_mclock
, что можно перевести как «зафиксировать частоту памяти». Теперь аргумент --mclock
нам не нужен и вместо него мы поставим --lock_mclock
. Написание аргументов и результаты разгона показаны в таблице 3.
Таблица 3.
Ну что, кажется, получилось ещё немного увеличить профит. В прошлый раз лучшим результатом было 112 рублей, теперь около 130. Значит, уменьшение частоты памяти в нашем случае имеет более положительный эффект, нежели её увеличение.
3. Финальная оптимизация.
Ну и теперь можно испробовать второй путь уменьшения потребляемой мощности (даунвольтинг). В gminer есть возможность управлять напряжением ядра напрямую, задавая его значение в милливольтах. Однако я предпочитаю делать по-другому, поскольку в других майнерах может не быть такой возможности и тогда возникают сложности по адаптации разгона одного майнера под другой. Для даунвольтинга я использую аргумент --cclock
, который можно перевести как «частота ядра». Данный аргумент смещает частоту ядра на указанное количество мегагерц. Но при чём тут напряжение? Действительно, если использовать --cclock
как он есть, то он будет регулировать частоту ядра, и, исходя из этого, ВК будет выставлять напряжение в соответствии со своей логикой. Но если его использовать вместе с аргументом --lock_cclock
, то частота ядра будет фиксироваться, а напряжение – меняться, несмотря на фиксированную частоту. Это даёт нам возможность понизить напряжение (а значит и потребляемую мощность), не меняя частоту. Таким образом, хешрейт страдает несильно, зато мощность снижается. Результаты и аргументы разгона приведены в таблице 4.
Таблица 4.
Как мы можем видеть, по сравнению с предыдущими таблицами, напряжения и мощности значительно снизились при небольшой потере хешрейта. Конкретные значения
--cclock
для каждой частоты я подбирал исходя из того, чтобы хешрейт падал несильно, к тому же, на высоких значениях --cclock
могут быть вылеты майнера и глюки, вплоть до синего экрана. Максимальный чистый доход составил 159 рублей в месяц, по сравнению с предыдущим этапом (130 рублей).А теперь вспомним, что в стоке карта майнила с доходом минус 54 рубля, то есть прирост составил 213 рублей, что почти в 4 раза выше исходного значения.
Судя по таблице, для моей 3060 оптимальный разгон следующий:
--lock_mclock 5000 --cclock 350 --lock_cclock 1500
Вентилятор выставлять «по вкусу», смотря какие температуры. В таблицах стоит 75 с запасом, чтобы не париться, когда идёт тест на высоких частотах, а так обычно ставлю 55.
Помимо этого, рекомендую поиграть с аргументом --dual_intensity
, который задаёт соотношение хешрейтов ERG и KAS. Если его не использовать, то майнер задаст его автоматически, но дело в том, что майнер не знает, какие курсы у монет и поэтому ориентируется не на доходность, а на технические возможности ВК. У меня обычно --dual_intensity
стоит в значении 2.4
, хотя это не очень существенно. Таким образом, мой полный разгон для 3060 выглядит так:
--lock_mclock 5000 --cclock 350 --lock_cclock 1500 --dual_intensity 2.4 --fan 55
Но не стоит просто брать данный разгон и применять бездумно, поскольку он рассчитан для моих тарифов электроэнергии. Те, кто майнит бесплатно или с сильно отличающимися тарифами, могут получить плохой результат.
Ещё хочу обратить внимание на то, что здесь приводилась потребляемая мощность только самой видеокарты, без учёта потребления так называемой «тушки». Если учитывать полную потребляемую мощность компьютера, то результат, естественно, станет хуже, вплоть до нулевой или отрицательной рентабельности, несмотря на оптимальный разгон.
Спасибо за внимание, критика приветствуется.
P.S. Я не просто так добавил в таблицы графу «эффективность». В таблице 4 заметно, что позиция максимальной прибыли сильно не совпадает с позицией максимальной эффективности майнинга, хотя в других таблицах они совпадают. Не исключено, что через какое-то время, если желание совпадёт с возможностью, я сделаю пост с подробным разбором этого расхождения.