ZCash Miner: silentarmy
Compilation and installation
The steps below describe how to obtain the dependencies needed by SILENTARMY, how to compile it, and how to install it.
Step 1: OpenCL
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
- Reboot
- 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
sudo apt-get install nvidia-opencl-dev nvidia-375
- Either reboot, or load the kernel driver:
sudo modprobe nvidia_375
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
cd /usr/local/src/siletarmy/ make OPENCL_HEADERS=/usr/lib/x86_64-linux-gnu/beignet/include/ LIBOPENCL=/usr/lib/x86_64-linux-gnu/beignet/ LDLIBS="-lcl -lrt"
Step 2: Python 3.3
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
Step 3: C compiler
A C compiler is needed to compile the SILENTARMY solver binary (sa-solver):
sudo apt-get install build-essential
Step 4: Get SILENTARMY
Download it as a ZIP from github: https://github.com/mbevand/silentarmy/archive/master.zip
Or clone it from the command line:
cd /usr/local/src/ 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:
sudo su cd /usr/local/src/silentarmy make
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.:
cd /usr/local/src/silentarmy 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):
make test
For more testing run
cd /usr/local/src/silentarmy/ ./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.