DISCLAIMER: This is still work in progress, it has only went through limited amounts of testing. The official release of this will be in v1.1.0 planned for next Thursday (December 13th)
NOTE: This update changes the interface between the miner and the node, thus you need to build both the miner and the node to use this update. The update is in a branch named multi_gpu_v2
on GitHub - aeternity/epoch
.
Following the discussion on the inefficiency that follows from only doing one graph exploration in a GPU context, adding the overhead of creating the context to each attempt, we have re-designed how the miner interfaces with the epoch aeternity node. By doing this we can do multiple attempts in the same GPU context improving the mining rate.
Instructions
To try this branch you should follow the exact steps of the multi GPU mining guide prepared by Chris: Deploy AE Mainnet CUDA MultiGPU Miner. | by Chris | Medium
with two important exceptions:
-
To clone the repository you should replace
multi_gpu
withmulti_gpu_v2
when cloning the repository, i.e. run
git clone -b multi_gpu_v2 https://github.com/aeternity/epoch.git multi_gpu && cd multi_gpu
(and no, the name of the directory does not matter it can still bemulti_gpu
…) -
When writing the
epoch.yaml
file you should also addrepeats: N
as wellinstances: X
. Note thatX
andN
are different numbers.
This will run N
cuckoo puzzles in the same GPU context (for each instance), which should improve mining speed. I.e one mining “round” will try N x X
nonces. But N
needs to be calibrated. Look into the log/epoch_mining.log
file of the node and check the interval between successive Start mining
lines, like in this example:
2018-12-06 15:21:57.141 [info] <0.1267.0>@aec_conductor:start_mining:674 Starting mining 2018-12-06 15:22:02.413 [info] <0.1267.0>@aec_conductor:start_mining:674 Starting mining
Here it is 5.3 seconds between the mining attempts which is a bit high, for best network performance it should be between 3-5s. So adjusting N
until the miner hits this sweetspot is crucial. Note: the node has to be restarted between changes to epoch.yaml. I suggest start with N = 5
and adjust accordingly.
Update
Saturday, Dec 8th, 9:30 CET
The initial version reports an error
when it fails to find a solution in a mining attempt. This is fixed and it should now report a debug message. No need to re-build really, just ignore the error.
Monday, Dec 10th, 9:30 CET
Lifted the branch multi_gpu_v2
on top of Tromp’s latest updates. I.e. it now supports the -c
flag to reduce CPU load.