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 PT-162445499-improve_mining
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. On one example machine we could get from 1 attempt per 3 seconds to 8 attempts in 4.6 seconds.
Instructions
To try this branch you should follow the exact steps of the 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
git clone -b multi_gpu https://github.com/aeternity/epoch.git multi_gpu && cd multi_gpu
with
git clone -b PT-162445499-improve_mining https://github.com/aeternity/epoch.git faster_mining && cd faster_mining
, and -
When writing the
epoch.yaml
file you should not addinstances: N
but insteadrepeats: N
.
This will run N
cuckoo puzzles in the same GPU context, which should improve mining speed. 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
Monday, Dec 10th, 9:30 CET
Lifted the branch PT-162445499-improve_mining
to include Tromp’s latest updates. I.e. it now supports the -c
flag to reduce CPU load.