Previous post, I’ve documented process of mining ETH / Ethereum on GPUs on POWER processor based server (called Barreleye ). Barreleye G2 is a open-source hardware server developed by Rackspace / Google.
In this post I explain, how to mine crypto-currency on CPU and still be profitable:
A. You pick the IBM POWER8 / 9 processors because of vector instructions supported on this CPU, helping the hashing algorithms (Specifically cryptonight algo – basis for Monero). (In your leisure, read this cryptonight standard that explains the basis of the algorithm itself )
B. You mine #MONERO – XMR because of its relative GPU / ASIC resistance. Monero has become one of the most popular cryptocurrencies due to its excellent privacy. Its website describes it as “secure, private, untraceable currency.”
For my guide I tested mining speeds on Rackspace server called : Barreleye G2 .
Example Speeds: Hash-rate on Barreleye server running 2 POWER8 /POWER9 (10 core chip) (~5 KH/s) —- Equivalent to 9 x GeForce 1070 Mining hash-rate (475 H/s)
Currently verified operating systems are :
A. 16.04
B. CentOS 7.x
Here are the steps to follow for mining Monero on Barreleye G2 on Ubuntu 16.04. The only changes for CentOS will be in installing AT10 (look below for what AT10 is) and dependency package names (usually different for debain vs RHEL based repos):
Before starting make sure your SMT level is at 4 and not 8 (4-way multi-threading yields the best results – Discovery through experimentation)
ppc64_cpu –smt=4
1. Clone the xmr-stak-power repository for POWER based on xmr-stack-cpu and cd into source directory
git clone https://github.com/agangidi53/xmr-stak-power
cd xmr-stak-power
2. Building a binary for mining on POWER needs gcc 6.3.1 which is available for public via Advanced toolchain 10. Install AT10.0 (Follow instructions below)
2a. Change Source list to add AT10 path
nano /etc/apt/sources.list
add “deb ftp://ftp.unicamp.br/pub/linuxpatch/toolchain/at/ubuntu xenial at10.0” at the end of the file
apt-get update
2b. Install the 4 AT10.0 packages and add them to the PATH:
apt-get install advance-toolchain-at10.0-runtime \
advance-toolchain-at10.0-devel \
advance-toolchain-at10.0-perf \
advance-toolchain-at10.0-mcore-libs
export PATH=/opt/at10.0/bin:$PATH
3. Install dependencies before building the mining binary:
apt install libmicrohttpd-dev -y
apt install libhwloc-dev -y
apt install libssl-dev -y
4. Configure, Make and Build the XMR-STAK-POWER binary
export LD_LIBRARY_PATH=’/usr/lib/powerpc64le-linux-gnu/’
cmake
make
make install
Binary will be built and saved as <source-directory>/bin/xmr-stak/power
5. Create a Monero wallet and make not of wallet address and private keys
6. Replace above the Wallet address and your email in following file <source-directory>/bin/config.txt in below format.
We are using supportxmr pool so use the below template for pool address.
Only replace your email / wallet address. Follow template for everything else.
“pool_address” : “pool.supportxmr.com:5555”,
“wallet_address” : “4945WAJVEC6A3ZM8hwWMrV15VSJeeAvUv3fRbwwMajToCQ2usQa2tefGyx6PFQwXqMfpk7dVdxX6BBqZfYibx3JD3UKzrFk”,
“pool_password” : “MinerName:<email-address>”,
Please note that the default config file assumes you have
8. Start mining by executing the binary you previously built. This binary will refer to config.txt to determine your wallet address, the pool you are joining and number of CPUs in the server etc. ( It assumes you have 2 x 10 core POWER proc. If its different config, you need to change the config file to reflect that )
Use a screen session to run the mining binary so that binary runs in background (and you don’t have to baby sit it)
apt install screen
screen
<hit enter for the message>
<source-director>/bin/xmr-stak/power
7. After mining for 5 minutes, login to supportxmr.com using these default credentials ::
username: <your-wallet-address>
password: <your-email-address provided in above config.txt>
8. Change your password to your choice after getting in to the website.
9. At this point the Top Right Corner on supportxmr.com shows your current hash-rate mined via the pool. Here’s test output using 2 Barreleye G2 servers:
Can you send me the link as to how/where to buy this server? Is it expensive?
LikeLike
Can you send me the link as to how/where to buy this server? Is it expensive?
LikeLike
I’m getting “MEMORY ALLOC FAILED: mmap failed” error, do you have any idea?
LikeLike
Solved, its about hugepages.
LikeLike
I hope there is a I hope there is a video teachingvideo teaching
LikeLike
Thanks for the great post! Still trying to figure out how to optimize for my barreleye servers, which have 159 cores when I cat /proc/cpuinfo
LikeLike
What hash rate are you getting ?
LikeLike
Feeding 3 xmr-stak-power processes (limited to 32 threads per process because they are interfacing to a proxy using nicehash protocol (xmrig-proxy) I’m getting
P1 – 30 threads, 1257 H/s
P2 – 30 threads, 1260 H/s
P3 – 20 threads, 844 H/s
I’ve been trying to decipher the core numbering scheme that was in the default config.txt
LikeLike
Whelp did everything, got to step 4, typed “cmake”, returned that I was missing a command parameter. So I tried “cmake CMakeLists.txt” and got root@test1:~/xmr-stak-power# cmake CMakeLists.txt
— The C compiler identification is GNU 5.4.0
— The CXX compiler identification is GNU 5.4.0
— Check for working C compiler: /usr/bin/cc
— Check for working C compiler: /usr/bin/cc — works
— Detecting C compiler ABI info
— Detecting C compiler ABI info – done
— Detecting C compile features
— Detecting C compile features – done
— Check for working CXX compiler: /usr/bin/c++
— Check for working CXX compiler: /usr/bin/c++ — works
— Detecting CXX compiler ABI info
— Detecting CXX compiler ABI info – done
— Detecting CXX compile features
— Detecting CXX compile features – done
CMake Error at CMakeLists.txt:27 (message):
Please use the IBM developer tools.
What am I doing wrong? I’m running Ubuntu 16.04 PPC64EL on a Power9 CPU
LikeLike
Yeah it’s not using the IBM AT10 compiler when I have it installed and it’s existing at /opt/at10.0/bin how annoying, guess I just have to keep trying to get it installed, might try installing every AT10 package possible
LikeLike
oh my god… I finally got it to work after messing around with it for an hour, uninstall your default compilers, reinstall IBM compilers, copy the path again and run cmake . and there you go
LikeLike
I do have the command to account for that in the instructions:
export PATH=/opt/at10.0/bin:$PATH
Not sure why you ran into issues
LikeLike
i get the result as below but show on supportXMR to speed of “0 h/s” and not get any coin
| 72 | 28.0 | 28.1 | 28.0 | 73 | 28.8 | 28.9 | 28.7 |
| 74 | 28.5 | 27.5 | 28.5 | 75 | 28.8 | 27.5 | 28.5 |
| 76 | 25.9 | 25.5 | 25.7 | 77 | 25.6 | 25.5 | 25.6 |
| 78 | 27.5 | 28.2 | 28.2 | 79 | 28.7 | 30.9 | 32.1 |
—————————————————–
Totals: 2238.0 2235.2 2231.5 H/s
Highest: 2448.8 H/s
HASHRATE REPORT
| ID | 2.5s | 60s | 15m | ID | 2.5s | 60s | 15m |
| 0 | 32.6 | 33.8 | 34.6 | 1 | 33.4 | 32.5 | 31.9 |
| 2 | 26.8 | 28.3 | 28.3 | 3 | 29.1 | 24.2 | 24.5 |
| 4 | 24.4 | 25.7 | 26.9 | 5 | 29.2 | 29.3 | 29.2 |
LikeLike
These instructions are now obsolete. See https://github.com/nioroso-x3/xmr-stak-power/issues/9
LikeLike
If you need to get xmr in a hurry, dont bother mining. head over to https://localmonero.co/?rc=gomr and you can buy xmr fast with all sorts of different payment options.
LikeLike