Silent army miner windows
This project is currently no longer maintained as of 2017-12-03. -Marc
SILENTARMY is a free open source Zcash miner for Linux with multi-GPU and Stratum support. It is written in OpenCL and has been tested on AMD/Nvidia/Intel GPUs, Xeon Phi, and more.
After compiling SILENTARMY, list the available OpenCL devices:
Start mining with two GPUs (ID 2 and ID 5) on a pool:
When run without options, SILENTARMY mines with the first OpenCL device, using my donation address, on flypool:
| Vendor | Type | Model | sol/s |
|---|---|---|---|
| AMD | GPU | R9 Nano | 115 |
| AMD | GPU | R9 390X | 100 |
| AMD | GPU | R9 390 | 95 |
| AMD | GPU | RX 480 8GB | 75 |
| NVIDIA | GPU | GTX 1070 | 70 |
See TROUBLESHOOTING.md to resolve performance issues.
Note: the silentarmy miner automatically achieves this performance level, however the sa-solver command-line solver by design runs only 1 instance of the Equihash proof-of-work algorithm causing it to slightly underperform by 5-10%. One must manually run 2 instances of sa-solver (eg. in 2 terminal consoles) to achieve the same performance level as the silentarmy miner.
Compilation and installation
The steps below describe how to obtain the dependencies needed by SILENTARMY, how to compile it, and how to install it.
OpenCL support comes with the graphic card driver. Read the appropriate subsection below:
Ubuntu 16.04 / amdgpu
Download the AMDGPU-PRO Driver (as of 12 Dec 2016, the latest version is 16.50).
Extract it: $ tar xf amdgpu-pro-16.50-362463.tar.xz
Install (non-root, will use sudo access automatically): $ ./amdgpu-pro-install
Add yourself to the video group if not already a member: $ sudo gpasswd -a $(whoami) video
Download the AMD APP SDK (as of 27 Oct 2016, the latest version is 3.0)
Extract it: $ tar xf AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2
Install system-wide by running as root (accept all the default options): $ sudo ./AMD-APP-SDK-v3.0.130.136-GA-linux64.sh
Ubuntu 14.04 / fglrx
Install the official Ubuntu package for the Radeon Software Crimson Edition driver: $ sudo apt-get install fglrx (as of 30 Oct 2016, the latest version is 2:15.201-0ubuntu0.14.04.1)
Follow steps 5-8 above: reboot, install the AMD APP SDK.
Ubuntu 16.04 / Nvidia
Install the OpenCL development files and the latest driver: $ sudo apt-get install nvidia-opencl-dev nvidia-361
Either reboot, or load the kernel driver: $ sudo modprobe nvidia_361
Ubuntu 16.04 / Intel
Install the OpenCL headers and library: $ sudo apt-get install beignet-opencl-icd
You must either alter the Makefile below or build silentarmy using make OPENCL_HEADERS=/usr/lib/x86_64-linux-gnu/beignet/include/ LIBOPENCL=/usr/lib/x86_64-linux-gnu/beignet/ LDLIBS=»-lcl -lrt»
SILENTARMY requires Python 3.3 or later (needed to support the use of the yield from syntax). On Ubuntu/Debian systems: $ sudo apt-get install python3
Verify the Python version is 3.3 or later: $ python3 -V
- A C compiler is needed to compile the SILENTARMY solver binary ( sa-solver ): $ sudo apt-get install build-essential
Step 4: Get SILENTARMY
Or clone it from the command line: $ git clone https://github.com/mbevand/silentarmy.git
Or, for Arch Linux users, get the silentarmy AUR package.
Step 5: Compile and install
Compiling SILENTARMY is easy:
You may need to specify the paths to the locations of your OpenCL C headers and libOpenCL.so if the compiler does not find them, eg.:
$ make OPENCL_HEADERS=/usr/local/cuda-8.0/targets/x86_64-linux/include LIBOPENCL=/usr/local/cuda-8.0/targets/x86_64-linux/lib
Self-testing the command-line solver (solves 100 all-zero 140-byte blocks with their nonces varying from 0 to 99):
For more testing run sa-solver —nonces 10000 . It should finds 18627 solutions which is less than 1% off the theoretical expected average number of solutions of 1.88 per Equihash run at (n,k)=(200,9).
For installing, just copy silentarmy and sa-solver to the same directory.
SILENTARMY also provides a command line Equihash solver ( sa-solver ) implementing the CLI API described in the Zcash open source miner challenge. To solve a specific block header and print the encoded solution on stdout, run the following command (this header is from mainnet block #3400 and should result in 1 Equihash solution):
If the option -i is not specified, sa-solver solves a 140-byte header of all zero bytes. The option —nonces instructs the program to try multiple nonces, each time incrementing the nonce by 1. So a convenient way to run a quick test/benchmark is simply:
$ sa-solver —nonces 100
Note: due to BLAKE2b optimizations in my implementation, if the header is specified it must be 140 bytes and its last 12 bytes must be zero.
Use the verbose ( -v ) and very verbose ( -v -v ) options to show the solutions and statistics in progressively more and more details.
The silentarmy Python script is actually mostly a lightweight Stratum implementation which launches in the background one or more instances of sa-solver —mining per GPU. This «mining mode» enables sa-solver to communicate with silentarmy using stdin/stdout. By default 2 instances of sa-solver are launched for each GPU (this can be changed with the silentarmy —instances N option.) 2 instances per GPU usually results in the best performance.
The sa-solver binary invokes the OpenCL kernel which contains the core of the Equihash algorithm. My implementation uses two hash tables to avoid having to sort the (Xi,i) pairs:
- Round 0 (BLAKE2b) fills up table #0
- Round 1 reads table #0, identifies collisions, XORs the Xi’s, stores the results in table #1
- Round 2 reads table #1 and fills up table #0 (reusing it)
- Round 3 reads table #0 and fills up table #1 (also reusing it)
- .
- Round 8 (last round) reads table #1 and fills up table #0.
Only the non-zero parts of Xi are stored in the hash table, so fewer and fewer bytes are needed to store Xi as we progress toward round 8. For a description of the layout of the hash table, see the comment at the top of input.cl .
Also the code implements the notion of «encoded reference to inputs» which I—apparently like most authors of Equihash solvers—independently discovered as a neat trick to save having to read/write so much data. Instead of saving lists of inputs that double in size every round, SILENTARMY re-uses the fact they were stored in the previous hash table, and saves a reference to the two previous inputs, encoded as a (row,slot0,slot1) where (row,slot0) and (row,slot1) themselves are each a reference to 2 previous inputs, and so on, until round 0 where the inputs are just the 21-bit values.
A BLAKE2b optimization implemented by SILENTARMY requires the last 12 bytes of the nonce/header to be zero. When set to a fixed value like zero, not only the code does not need to implement the «sigma» permutations, but many 64-bit additions in the BLAKE2b mix() function can be pre-computed automatically by the OpenCL compiler.
Managing invalid solutions (duplicate inputs) is done in multiple places:
- Any time a XOR results in an all-zero value, this work item is discarded as it is statistically very unlikely that the XOR of 256 or fewer inputs is zero. This check is implemented at the end of xor_and_store()
- When the final hash table produced at round 8 has many elements that collide in the same row (because bits 160-179 are identical, and almost certainly bits 180-199), this is also discarded as a likely invalid solution because this is statistically guaranteed to be all inputs repeated at least once. This check is implemented in kernel_sols() (see likely_invalids .)
- When input references are expanded on-GPU by expand_refs() , the code checks if the last (512th) input is repeated at least once.
- Finally when the GPU returns potential solutions, the CPU also checks for invalid solutions with duplicate inputs. This check is implemented in verify_sol() .
Finally, SILENTARMY makes many optimization assumptions and currently only supports Equihash parameters 200,9.
Donations welcome: t1cVviFvgJinQ4w3C2m2CfRxgP5DnHYaoFC
I would like to thank these persons for their contributions to SILENTARMY, in alphabetical order:
- eXtremal
- jramos
- kenshirothefist
- Kubuxu
- lhl
- nerdralph
- poiuty
- solardiz
The MIT License (MIT) Copyright (c) 2016 Marc Bevand
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the «Software»), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
About
Zcash miner optimized for AMD & Nvidia GPUs
Доступный майнинг-софт для добычи Zcash (ZEC)

Список доступных майнеров для алгоритма Equihash:
- Claymore’s Zcash AMD GPU miner v6.0. — на момент написания этого материала самый производительный майнер под Windows для видеокарт от AMD. Майнер постоянно обновляется, в последние дни новые версии выходят раз в 2-3 дня и поднимают производительность видеокарт на 15-30%. Стоит отметить что в процессе майнинга с вас будет взиматься комиссия разработчика в размере 2.5%. Майнер от клеймора имеет закрытый исходный код, работает с использованием библиотеки OpenCL и распространяется только в виде исполняемых файлов для Windows. Скачать Claymore’s Zcash AMD GPU miner v6.0. Официальная ветка майнера на форуме Bitcoin Talk. Хешрейты видеокарт: AMD Radeon Fury = 210 H/s, AMD Radeon R9 390X = 180 H/s, AMD Radeon RX 480 = 160 H/s, AMD Radeon RX 470 = 140 H/s, AMD Radeon R9 280X = 115 H/s.
- CUDA EquiHash miner 2016-11-16 — на данный момент самый быстрый майнер для видеокарт от NVidia. Может работать как под управлением Windows так и под Linux. Так же как и в случае с Claymore’s miner имеет комиссию разработчика 2.5%. Как и в случае с Claymore’s исходный код майнера является закрытым. Майнер использует для работы библиотеку CUDA. Скачать CUDA Equihash miner 2016-11-16 для Windows. Скачать CUDA Equihash miner 2016-11-16 для Linux. Официальная ветка майнера на форуме Zcash. Хешрейты видеокарт: Nvidia Geforce GTX 1070 = 108 H/s, Nvidia Geforce GTX 850M = 24 H/s, Nvidia Geforce GTX 1050Ti = 37 H/s.
- Nicehash EQM miner 1.0.1ab — более быстрый майнер для карт NVidia, однако по сравнению с CUDA EquiHash miner, он жестко привязан к пулу Nicehash. EQM miner поддерживает свежие Nvidia GPU поколений Maxwell и Pascal, а так же поддерживает добычу с помощью CPU (однако для этого потребуется поддержка вашим процессором наборов инструкций AVX2 / AVX, поддерживает возможность добычи на серверах с более чем 64 ядрами). Исходный код майнера является закрытым, но в отличие от мейнеров выше, тут нет никаких дополнительных комиссий разработчика. EQM miner на данный момент может работать только под управлением ОС Windows и распространяется в виде исполняемого файла и использует с своей работе CUDA. Скачать Nicehash EQM miner 1.0.1ab для Windows. Официальная ветка майнера на форуме Zcash. Хешрейты видеокарт: Nvidia Geforce GTX 1070 = 125 H/s, Nvidia Geforce GTX 1060 = 85 H/s, Nvidia Geforce GTX 1050Ti = 53 H/s, Nvidia Geforce GTX 1050 = 48 H/s, Nvidia Geforce GTX 980Ti = 125 H/s, Nvidia Geforce GTX 980 = 100 H/s, Nvidia Geforce GTX 1070 = 125 H/s, Nvidia Geforce GTX 970 = 85 H/s, Nvidia Geforce GTX 950 = 50 H/s, Nvidia Geforce GTX 750Ti = 36 H/s, Nvidia Geforce GTX 750 = 34 H/s.
- Optiminer Zcash miner 0.3.4 — основной конкурент майнера от Claymore’s для видеокарт от AMD. В отличие от Клеймора, Optiminer на даннный момент работает только под управлением Linux 64 bit, несколько дней назад разработчик пытался портировать свой майнер на Windows, однако с первой попытки у него это не получилось, после исправления нескольких ошибок подряд, разработчик майнера пообещал вплотную заняться портированием майнера под Windows на следующей недели, сославшись на нехватку времени в данный момент и убрал альфа версию своего майнера под Windows, который никто так и не смог запустить. Майнер так же имеет комиссию разработчика, однако в отличие от других майнеров, комиссия не отнимается из показанного майнером хешрейта. Весь хешрейт, который отображает майнер полностью идет вам, однако майнер в фоновом режиме параллельно добывает для разработчика, это доказывает что данная версия майнера на самом деле может выдавать гораздо более высокий хешрейт, однако часть хешрейта пока что заблокирована разработчиком. Скорее всего после выпуска Клеймором очередной, более быстрой версии своего майнера, разработчик Optiminer полностью разблокирует свой майнер, тем самым уменьшив свою комиссию. Optiminer на данный момент поддерживает только GCN видеокарты от AMD, а Nvidia GPU и добыча не процессоре не поддерживается. Майнер имеет закрытый исходный код и работает на основе OpenCL. Скачать Optiminer Zcash miner для Linux 64-bit. Официальная ветка майнера на форуме Zcash. Хешрейты видеокарт: AMD Radeon Nano = 185 H/s, AMD Radeon R9 290 = 140 H/s, AMD Radeon RX 470 = 130 H/s, AMD Radeon RX 480 = 140 H/s, AMD Radeon R9 290X = 160 H/s, AMD Radeon R9 380X = 90 H/s, AMD Radeon R9 390X = 166 H/s.
- Silent Army v5 — один из самых быстрых универсальных майнеров с открытым исходным кодом написанный на языке программирования Python и работающий с помощью OpenCL. Claymore’s в одном из своих первых релизов использовал часть исходного кода майнера SilentArmy. Для добычи монет на алгоритме EquiHash может использовать как видеокарты от AMD, так и NVidia GPU и различные CPU (для добычи на центральных процессорах рекомендуется поддержка набора инструкций AVX2 или AVX). Хотя изначально SilentArmy разрабатывался для работы из под Linux, на данный момент его можно запустить и под Windows с помощью Cygwin. В отличие от большинства других майнеров, Silent Army не имеет никаких комиссий разработчика. Скачать исходный код Silent Army. Официальная ветка майнера на форуме Bitcoin Talk. Официальная ветка майнера на форуме Zcash. Установка Silent Army под Windows. Хешрейты видеокарт: AMD Radeon Fury = 115 H/s, AMD Radeon RX 480 = 75 H/s, Nvidia Geforce GTX 1070 = 70 H/s.
- Genoil ZEC miner 0.6.2 — это первый быстрый майнер для майнинга Zcash с помощью GPU (Так же он поддерживает и добычу с помощью центрального процессора). На данный момент даже последняя версия 0.6.2 данного майнера (которая вышла 8 дней назад безнадежно отстала от своих конкурентов как с точки зрения производительности, так и с точки зрения стабильности и нагрузки на GPU и CPU. Первые версии Genoil ZEC miner постоянно зависали и вылетали, и некоторые пользователи даже придумали запускать специальный скрипт вотчер, который следил за процессом майнинга и при возникновении каких-либо проблем перезагружал майнер. В то время Genoil был самым быстрым майнером для GPU и примерно в 2 раза превосходил стандартный майнер от разработчиков монеты в производительности. Майнер от Genoil поддерживает только GCN видеокарты от AMD и работает под управлением ОС Windows. Genoil Zec Miner не взимает никаких дополнительных комиссий разработчика и использует для работы OpenCL. Скачать Genoil ZEC miner 0.6.2 для Windows. Официальная ветка майнера на Bitcoin Talk. Официальная ветка майнера на форуме Zcash. Хешрейты оборудования: AMD Radeon R9 280X = 30 H/s, AMD FX 8350 8 cores = 11 H/s.
- nheqminer v.0.4b — самый первый майнер для добычи Zcash от NiceHash, который был выпущен вместе со стартом монеты. Использовался для добычи Zcash с помощью GPU, кроме того поддерживает и добычу на GPU, однако при этом хешрейты видеокарт оставляют желать лучшего. Поддерживает CPU с набором инструкций AVX/AVX2, и видеокарты от AMD и NVidia (низкий хешрейтом). Майнер имеет открытый исходный код и работает только под управлением Windows 64-bit. Майнер привязан к пулу Nicehash, однако после того как разработчики открыли исходный код, появились форки майнера, которые могут работать на любых пулах. Скачать nheqminer 0.4b для Windows. Скачать исходный код. Хешрейты оборудования: AMD FX 8350 8 cores = 10 H/s, Intel Core i7 6700K = 40 H/s, Intel Core i5 4690K = 19 H/s.
- Программы для майнинга
Подпишись на наш Telegram канал @cryptoage и Вконтакте, узнавай новости про криптовалюты первым.
Общайся с криптоэнтузиастами и майнерами в Telegram чате @CryptoChat
