Майнинг,  Обзоры,  Статьи

О нейроморфных вычислениях (майнинге) Dynexcoin (DNX)

16 сентября 2022 года была запущена в работу сеть Dynex. Она представляет собой блокчейн следующего поколения, предназначенный для нейроморфного проведения вычислений (Neuromorphic Computing).

Нейроморфным компьютером называют не-неймановскую структуру, опирающуюся в своей работе как на физические, так и на биологические принципы.

Сравнение принципов работы классической (неймановской) архитектуры компьютера и нейроморфной модели:

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

Что собой представляет платформа Dynex?

Блокчейн Dynex объединяет множество хостов в кластеры нейроморфных чипов, которые выполняют вычисления с намного большей энергоэффективностью, чем обычные компьютеры/сети.

Это «зеленый» суперкомпьютер, использующий нейроморфную технологию и уникальный Proof-of-Useful-Work (PoUW) алгоритм DynexSolve.

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

0 JOB_TYPE_SAT (constraint satisfaction problem);

1 JOB_TYPE_MILP (mixed integer linear programming);

2 JOB_TYPE_QUBO (quadratic unconstraint binary optimisation);

3 JOB_TYPE_MAXSAT (maximum satisfiability problem);

4 JOB_TYPE_FEDERATED_ML (federated machine learning);

5 JOB_TYPE_PRETRAINING_ML (efficient pre-training of restricted boltzmann machines, deep neural networks);

6 JOB_TYPE_SUBSET_SUM (subset sum problems);

7 JOB_TYPE_INTEGER_FACTORISATION (integer factorisation).

В перспективе Dynex планируется использовать для проведения других очень сложных вычислений, требующих распараллеривания.

Кто развивает проект Dynex?

Команда, развивающая проект Dynex, анонимна. Повышенная скрытность в отношении команды, развивающей столь интересный проект, вызвает подозрения.

Согласно информации, распространяемой в интернете, основателем и главным архитектором платформы является человек, скрывающийся под псевдонимом Sumitomo.

Что такое криптовалюта DNX?

DNX — это нативный (базовый) токен блокчейна Dynex (как ETH в сети Ethereum). Он является основным платежным средством в экосистеме. Пользователи, предоставляющие свое вычислительное оборудование сети Dynex, получают за это вознаграждение в виде токенов DNX.

Криптовалюта Dynex (DNX) торгуется на бирже Txbit и TradeOgre , где стоит около 10-12 центов, колебаясь в пределах 0.03-0.28 USD с момента запуска (16.09.2022).

Рыночная капитализация монеты DNX оценивается в 12-13 млн. долларов США, суточный объем торгов — порядка 130 тысяч долларов.

Для использования монет Dynex можно использовать полноценный клиент или Web Wallet, доступный на соответствующей странице сайта dynexcoin:

DNX можно добывать майнерам, отдавая в арнеду свою вычислительную мощность. Видеокарты, учавствующие в оргии майнинге работают в качестве нейроморфных компьютерных чипов большой виртуальной машины. Они производят вычисления на ассиметричном PoW-алгоритме, очень требовательном к объему/производительности памяти и видеоядра.

Учитывая неплохую энергоэффективность алгоритма dynexsolve, а также неплохой размер вознаграждения за найденный блок (по состоянию на март 2023 года это примерно 263-265 монет DNX при цене 0.08-0.11 USD за единицу), проведение вычислений в сети Dynex теоретически является прибыльным занятием.

Лучше всего для этого использовать srbminer-multi, который работает на видеокартах с 2 GB VRAM+ производства AMD, Nvidia и даже Intel (комиссия разработчику – 3%), обеспечивая значительно больший хешрейт на dynexsolve algo в сравнении с официальным майнером.

Настройка майнинга монет DNX

Монета Dynex пока является черной лошадкой среди криптовалют, поэтому выбор майнеров, поддерживающих вычисления на алгоритме Proof-of-Useful-Work (PoUW) довольно скуден — это коммерческий  srbminer-multi и официальный майнер dynexsolve.

Версия майнера от разработчиков (DynexSolve) поддерживает только GPU Nvidia (для майнинга желательно использовать GPU с VRAM 3 GB и больше) .

В ubuntu 22.04 на официальном майнере запускается  майнинг и на 2 ГБ-картах (например, Nvidia GT1030).

Поддержка алгоритма dynexsolve для видеокарт Nvidia, AMD и Intel реализована в srbminer 2.2.0+ (это майнер с закрытым исходным кодом). Он обеспечивает в 2-3 раза больший хешрейт в сравнении с официальым майнером, хотя и берет 3% комиссии.

Запустить майнинг Dynex на процессоре официально невозможно.

При использовании официального майнера можно самостоятельно скомпилировать модули для проведения криптографических вычислений (об этом ниже).

Перечень основных команд, использующихся официальным майнером dynexsolve:

-mining-address — адрес кошелька для получения вознаграждения;

-daemon-host — RPC host-адрес dynexd (по умолчанию: localhost) — используется при соло-майнинге;

-daemon-port — RPC-порт демона dynexd (по умолчанию 18333) — используется при соло-майнинге;

-stratum-url — адрес stratum pool;

-stratum-port — порт stratum pool;

-stratum-paymentid — идентификатор адреса кошелька;

-stratum-password — пароль для входа на пул;

-stratum-diff — целевое значение сложности манйинга;

-no-cpu — запуск майнинга Dynex без CPU;

-no-gpu — запуск майнинга Dynex на процессоре, без GPU (в распространяемой готовой версии майнера опция отключена, при попытке запуска майнинга только на процессоре появляется сообщение WARNING: MINING NOT POSSIBLE);

-mallob-endpoint <IP> - endpoint для балансировщика Dynex Malleable Load;

-devices — ключ, использующийся для проверки наличия в системе пригодных для майнинга GPU-устройств;

-deviceid — выбор видеокарт, участвующих в майнинге (по умолчанию: 0 = первая видеокарта);

-multi-gpu — запуск майнинга на всех видеокартах, установленных на компьютере;

-disable-gpu — исключение видеокарты с указанным номером из процесса майнинга (используется при включенной опции multi-gpu);

-maximum-chips — установка максимального количества параллельных Dynex Chips для запуска на GPU (по умолчанию: INT_MAX);

-steps-per-batch — установка числа шагов на batch (default: 10000, минимум 10000);

-start-from-job — стартовый job number (default: 0);

-cpu-chips — число задействованных ядер процессора (default: 4);

-intensity — интенсивность майнинга (число задействованных блоков CUDA, по умолчанию - 8192) - опция доступна начиная с dynexsolve версии 2.2.4;

-alpha — устанвока значения alpha ODE;

-beta — установка значения beta ODE;

-gamma — значение gamma ODE;

-delta — значение detla ODE;

-epsilon — значение epsilon ODE;

-zeta — занчение zeta ODE;

-init_dt — установка начального значения dt ODE;

-debug - включение отладочного консольного вывода;

-test — запуск в тестововм режиме локально;

-mallob-debug — включение отладки MPI;

-adj — установка коэффициента используемого объема памяти (для версии 2.2.4 default: 1.3). Чем меньше это значение, тем больше памяти использует майнер;

-sync — использование синхронизации потоков CUDA (уменьшает загрузку CPU);

-skip — пропустить загрузку GPU state (.BIN);

-h — отобразить меню help.

Для запуска майнинга DNX на видеокартах (NVIDIA с архитектурой sm52 (GeForce 900-й серии) и новее, например, на пуле zergpool (с автопереводом намайненного непосильным трудом в LTC), создается скрипт:

./dynexsolve -mining-address адрес_кошелька -no-cpu -multi-gpu -stratum-url dynexsolve.mine.zergpool.com -stratum-port 4460 -stratum-password c=LTC,worker

Аналогичный синтаксис командной строки используется official-майнером и в Windows.

Пример майнинга DNX (производства Chips) на видеокартах Nvidia GTX1660TI/Super и GTX1060 в программе dynexsolve 2.2.3a:

Видеокарта уровня Nvidia GTX1660TI или Super при добывании Dynex Coin в программе dynexsolve версии 2.2.3 демонстрирует хешрейт около 48 H/s (для сравнения, srbminer 2.2.1 при тех же настройках выдает более 300 H/s). Другие видеокарты Nvidia показывают следующую прыть при майнинге DNX, H/s (в dynexsolve 2.2.3):

  • RTX 4090 — 290;
  • RTX 4080 — 193;
  • RTX 4070Ti — 143;
  • RTX 3090/3090Ti — 222;
  • RTX3080 10 GB — 65;
  • RTX3070 8 GB — 52;
  • RTX3060Ti 8 GB — 60;
  • RTX3060 12 GB — 110;
  • RTX A5000 — 225;
  • RTX A2000 6 GB — 38;
  • GTX1080 8 GB — 68-70;
  • GTX1070/1070 Ti 8 GB — 66-70;
  • GTX1060 6 GB — 48;
  • GTX1060 3 GB — 23-25;
  • GTX1050Ti 4GB — 28;
  • GT1030 2GB — 12-13.

Потребление эклектроэнергии при вычислениях очень мало, так как основная нагрузка приходится на память.

Утилита nvidia-smi при проведении работы по вычислениям в сети Dynex в официальном майнере показывает большую загрузку видеопамяти и неравномерное распределение нагрузки на ядро GPU между видеокартами (точнее, незначительно нагружается всего одна из них):

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

Для оптимизации энергопотребления хешрейта при майнинге DNX нужно снизить до минимума PowerLimit видеокарт.

Увеличение хешрейта достигается разгоном ядра и видеопамяти. Если используется слабенький центральный процессор, нужно использовать srbminer 2.2.1 и новее. На компьютерах с мощными процессорами можно более полно задействовать их мощь, включив опцию

--dynex-cpu-pow 0!1!
где 0!1! - номера "расслабляющихся" видеокарт.

Официальный майнер позволяет осуществлять тестовый майнинг на процессоре:

Для майнинга DNX в srbminer можно использовать такой батник/скрипт:

sudo ./SRBMiner-MULTI --disable-cpu --algorithm dynex --pool dynexsolve.mine.zergpool.com:4460 --wallet кошелек --password c=LTC,worker --gpu-target-temperature 56 --gpu-off-temperature 63 --gpu-target-fan-speed 55 --gpu-id 0! --gpu-boost 3 --gpu-auto-tune 2 --gpu-tweak-profile 2 --reboot-script-gpu-watchdog watchdog.sh --api-enable --api-rig-name 42 --api-miner-restart-url restart --dynex-cpu-pow 0! --gpu-intensity 496

Начиная с SRBMiner-MULTI версии 2.2.2 на компьютерах с мощным многоядерным процессором, при  использовании параметра желании разгрузить GPU (увеличить хешрейт), нужно использовать аргумент dynex-cpu-pow с указанием номеров видеокарт, часть работы которых возьмет на себя CPU (как в примере выше для GPU номер 0).
Значение gpu-intensity нужно подбирать экспериментально, ориентируясь на цифры, которые майнер подбирает автоматически при запуске (поэтому при первом запуске майнера  параметр --gpu-intensity использовать не нужно).
Например, при интенсивности майнинга 496, видеокарта AMD Radeon RX5500XT 8GB в srbminer-multi 2.2.1 выдает 205 H/s:

Компиляция модулей для майнера Dynex в Linux на примере (x)ubuntu 22.04

На Github можно скачать код generic-версии майнера и скомпилировать каталог libCrypto.a с модулями, содержащими информацию о криптографических функциях, использующихся при вычислениях.

Для сборки libCrypto.a с кодом хеш-функций для майнера dynexsolve в ubuntu-подобных системах предварительно необходимо установить модули Boost:

sudo apt-get install -y libboost-all-dev libcurl4-openssl-dev
Кроме того, в системе должны быть установлены пакеты, связанные с программированием на python (обычно они уже там имеются):
sudo apt-get install libdb++-dev build-essential libtool autotools-dev automake pkg-config bsdmainutils ccache python3 python3-pip python3-setuptools python-setuptools
sudo apt-get install libevent-dev python3-zmq python3-dev libboost-python-dev libboost-system-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev libzmq3-dev

В противном случае при компиляции появится сообщение об ошибке

Could NOT find Boost (missing: Boost_INCLUDE_DIR system filesystem thread
date_time chrono regex serialization program_options) (Required is at least
version "1.55")

Теперь можно скачать исходный код Динекс Солв с Github и создать файл с модулями для майнера dynexsolve.

Скачивание лучше производить утилитой git:

git clone https://github.com/dynexcoin/Dynex.git

в противном случае при компиляции может возникнуть ошибка

CMake Warning at src/version.cmake:3 (message):
Cannot determine current revision. Make sure that you are building either
from a Git working tree or from a source archive.

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

cd Dynex && mkdir build && cd build && cmake .. && make Daemon -j 4

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

[100%] Linking CXX executable dynexd
[100%] Built target Daemon

Скомпилированный файл libCrypto.a находится в каталоге Dynex/build/src/libCrypto.a:

Фактически libCrypto.a — это архив с файлами, содержащими код хеш-функций blake256, chacha8, crypto, groestl и другими, выполняющихся при майнинге Dynex:

Файл libCrypto.a помещают в каталог с generic-версией официального майнера dynexsolve, создают/редактируют скрипт для запуска майнинга и запускают этот важный процесс…



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

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