Page 1 of 1

Complete working Ubuntu 17.10 GPU miner setup

Posted: Thu Jun 14, 2018 9:53 am
by overlode
Ok, I have had a lot of people ask me about the GPU miner that was built by Guli back in March for ARO. Due to the fact that ARO is designed to be CPU mined, it was decided by the community that the GPU miner be disabled so it's performance was severely reduced.

However, people are still asking about it, and saying they would still use it if possible. Because there has been no development on the GPU miner since March, due to updates in Linux systems it started failing to compile, and there was simply nothing you could do about it.

Now, however, I have spent the last 4 hours trying to get it to work on newer versions of Ubuntu and have found that actually it's possible. This is a guide to show you exactly the same steps I took to make it work again.

First of all you are going to need an ISO image of Ubuntu 17.10. Use something like USBImage Writer or other software to write the ISO to a USB stick and then install the fresh Ubuntu 17.10 system onto a spare hard drive/slave hard drive.

Once you have Ubuntu 17.10 up and running, DO NOT DO ANY SOFTWARE UPDATES!!!! THIS IS CRITICAL!!!!!

Ok, first of all, go to "Software and Update" and click on "Additional Drivers". When it comes up with the Nvidia 384 Proprietary driver, select that and then select "Apply changes".

You will need to restart your system after the drivers are installed.

Once restarted, to check the Nvidia drivers have installed properly, open a new Terminal and type -

"nvidia-smi".

You should see something similar to the following displayed -

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.130 Driver Version: 384.130 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 1050 Off | 00000000:01:00.0 Off | N/A |
| N/A 52C P0 N/A / N/A | 424MiB / 4041MiB | 8% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1097 G /usr/lib/xorg/Xorg 28MiB |
| 0 1837 G /usr/bin/gnome-shell 49MiB |
| 0 2036 G /usr/lib/xorg/Xorg 137MiB |
| 0 2225 G /usr/bin/gnome-shell 103MiB |
| 0 2598 G ...-token=7A0EB2DED636DB6A2F514C944BA37363 104MiB |
+-----------------------------------------------------------------------------+

If you have this, then everything worked correctly. Next we need Cuda installed.

Follow these steps carefully -

1 . "sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev -y"

2 . "wget developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run"

3 . "chmod +x cuda_9.0.176_384.81_linux-run"

4 . "sudo ./cuda_9.0.176_384.81_linux-run --override"

The Cuda installation will start with a big agreement, press space to move down but be careful towards 100% as you need to type "accept" for it to continue properly.

Next you will get a set of options - press the following in response to them -

1 . "You are attempting to install on an unsupported configuration. Do you wish to continue?
(y)es/(n)o [ default is no ]: y"

2 . "Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n"

3 . "Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y"

Press enter for the default location

4 . "Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y"

5 . "Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: y"

Again, press enter for the default location.

It will install the Cuda silently, until the end. If you get an error that says - "***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 9.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver" IGNORE IT!! It is simply saying this because we chose not to override our already working Nvidia drivers
Type "nvidia-smi" once more to check the drivers are still working.

Next -

1 . "sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc"

2 . "sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++"

3 . "sudo apt install gcc-6 g++-6 libgmp-dev python-dev libboost-dev libcpprest-dev cmake git make zlib1g-dev libssl-dev libargon2-0-dev -y"

4 . "sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 1"

5 . "sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 1"

6 . "sudo apt-get install opencl-headers -y"

7 . "sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so"

8 . "git clone https://[email protected]/guli13/arionum-gpu-miner.git"

9 . "cd arionum-gpu-miner"

10 . "git submodule update --init --recursive"

11 . "git submodule update --remote"

12 . "git pull"

13 . "cmake -DCMAKE_BUILD_TYPE=Release"

14 . "make"

If everything went well, you should see lots of text and ending at a command prompt.

To use the miner, simply type "./arionum-cuda-miner -p <pool address> -a <wallet address> -t <no. of threads> -b <batch size>"

For AMD cards use "./arionum-opencl-miner -p <pool address> -a <wallet address> -t <no. of threads> -b <batch size>"

Play around with the thread and batch sizes, but you will want to start at -t 1 -b 4 and increase -b in small steps.

The following are all arguments that can be used with the commands -

Options:
-l, --list-devices list all available devices and exit
-u, --use-all-devices use all available devices
-a, --address=ADDRESS wallet address
-p, --pool=POOL_URL pool URL [default: http://aropool.com]
-d, --device=INDEX use device with index INDEX [default: 0]
-b, --batchSize=SIZE batch size [default: 200]
-t, --threads-per-device=THREADS thread to use per device [default: 1]
-?, --help show this help and exit

I hope this helps with those of you wanting to use your GPU's as well.

See my guide for installing the Java miner on a fresh Ubuntu system as well to combine all your hashes from one machine and operating system.

If you feel any of my guides have helped you please feel free to donate to the addresses below.