A Multi GPU Miner is Available for Ubuntu!


Compiling again from scratch, same way as before, but with prod-package instead of prod-build to check it out


Can’t you provide multi_gpu binaries directly though ? :slight_smile:


They will be provided in the binary package eventually, just been a bit busy finalizing the Roma release :wink:


Still the same hash sent to each GPU

2018-11-29 02:49:49.347 [debug] <0.2034.0>@aec_pow_cuckoo:generate:79 Generating solution for data hash <<20,66,48,207,49,81,252,57,62,132,255,135,229,0,104,191,204,236,222,128,175,28,41,224,98,104,33,39,100,237,25,112>> and nonce 7570846951243144773 with target 521073653.
2018-11-29 02:49:49.347 [info] <0.2037.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D523136797154414E45576B3D  -d 2"
2018-11-29 02:49:49.348 [info] <0.2040.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D536C36797154414E45576B3D  -d 5"
2018-11-29 02:49:49.348 [info] <0.2043.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D545636797154414E45576B3D  -d 8"
2018-11-29 02:49:49.348 [info] <0.2046.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D554636797154414E45576B3D  -d 11"
2018-11-29 02:49:49.348 [info] <0.2041.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D533136797154414E45576B3D  -d 6"
2018-11-29 02:49:49.348 [info] <0.2045.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D543136797154414E45576B3D  -d 10"
2018-11-29 02:49:49.348 [info] <0.2035.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D525636797154414E45576B3D  -d 0"
2018-11-29 02:49:49.348 [info] <0.2036.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D526C36797154414E45576B3D  -d 1"
2018-11-29 02:49:49.348 [info] <0.2038.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D534636797154414E45576B3D  -d 3"
2018-11-29 02:49:49.349 [info] <0.2039.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D535636797154414E45576B3D  -d 4"
2018-11-29 02:49:49.349 [info] <0.2044.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D546C36797154414E45576B3D  -d 9"
2018-11-29 02:49:49.349 [info] <0.2042.0>@aec_pow_cuckoo:generate_int_:214 Executing cmd: "./cuda29 -h 464549777A7A46522F446B2B68502B483551426F76387A73336F437648436E67596D67684A3254744758413D544636797154414E45576B3D  -d 7"


No, if you look closely they’re slightly different just like they should be (close to, but not at the end…)

That looks good, good luck with your mining! :crossed_fingers:


Thanx for your help. Let’s see how it goes now :slight_smile:


RC7 I thought is the Roma release. I see now that Roma and RC7 are different releases. Roma is the actual first Mainnet release, so all transactions and mining rewards remains in the blockchain from now on?


Ok after going through the night with the miners up and running, still 0 block found with 20 1080tis. I’m pretty sure we miss something here, and I’m not the only one (many have the problem on telegram). Those finding many blocks obviously won’t help :wink:

What should we look at now ? Pasting another part of epoch_pow_mining.log just in case

2018-11-29 11:19:16.046 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479 GeForce GTX 1080 Ti with 10GB @ 352 bits x 5505MHz
2018-11-29 11:19:16.046 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479 Looking for 42-cycle on cuckoo30("NpEUaSchM4yLt7YyyfGGBHqYjLCFXfLsf4AqOPAdIYg=6tAm8fg6Aos=",0) with 50% edges, 64*64 buckets, 176 trims, and 64 thread blocks.
2018-11-29 11:19:16.046 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479 Using 6976MB of global memory.
2018-11-29 11:19:16.046 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479 nonce 0 k0 k1 k2 k3 24c85c2e691582af b8b0509cea5573b2 10215e8ff3b13b36 c434ad454be3cf09
2018-11-29 11:19:16.046 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479 Seeding completed in 49 + 31 ms
2018-11-29 11:19:16.046 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479    6-cycle found
2018-11-29 11:19:16.046 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479  150-cycle found
2018-11-29 11:19:16.046 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479   16-cycle found
2018-11-29 11:19:16.046 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479  448-cycle found
2018-11-29 11:19:16.047 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479  396-cycle found
2018-11-29 11:19:16.047 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479  294-cycle found
2018-11-29 11:19:16.047 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479 findcycles edges 66427 time 216 ms total 459 ms
2018-11-29 11:19:16.047 [debug] <0.14136.6>@aec_pow_cuckoo:parse_generation_result:479 0 total solutions


I’ll try to calculate if you are unlucky or if something is wrong, how far in time is it between the “start mining” in log/epoch_mining.log?

What is your account/beneficiary? Just want to check that you did not miss that you’ve mined a block :wink:


The start mining appears each 7 seconds

2018-11-29 12:53:05.857 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:53:13.391 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:53:20.416 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:53:27.575 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:53:34.735 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:53:41.896 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:53:47.757 [info] <0.12633.7>@aec_conductor:handle_synced_block:833 synced_block: {key_block,{key_header,682,<<152,232,140,41,247,77,57,114,189,115,245,246,124,126,84,217,151,32,81,11,14,98,246,150,157,114,29,163,62,123,192,84>>,<<152,232,140,41,247,77,57,114,189,115,245,246,124,126,84,217,151,32,81,11,14,98,246,150,157,114,29,163,62,123,192,84>>,<<225,54,59,86,82,26,159,12,63,147,238,255,189,150,63,237,174,4,123,216,21,120,98,110,126,77,213,103,32,140,44,242>>,520914526,1882532621658287484,1543492008181,1,[8950637,9640291,18680998,22114134,51032311,77794695,79632653,100139473,112740281,138567077,142747622,143686331,156012151,163281004,175599343,202425732,219964291,233621597,235448083,260663068,276087803,295174578,304157738,312540786,322548115,328293541,328892391,365120547,367694609,407531169,410372156,418256256,418551153,434296626,442552600,444634636,445545734,453289444,470783872,484793789,492966044,531475043],<<40,83,51,249,176,22,248,251,0,29,169,136,19,217,82,134,81,178,46,107,146,71,106,109,191,30,76,223,58,12,216,140>>,<<59,157,48,159,111,59,2,2,238,67,37,54,180,172,27,63,136,117,61,175,165,124,174,232,12,170,220,9,45,138,64,253>>}}
2018-11-29 12:53:47.811 [info] <0.12633.7>@aec_conductor:create_key_block_candidate:804 Creating key block candidate on the top
2018-11-29 12:53:47.811 [info] <0.12633.7>@aec_conductor:create_key_block_candidate:804 Creating key block candidate on the top
2018-11-29 12:53:47.838 [info] <0.12633.7>@aec_conductor:handle_key_block_candidate_reply:812 Created key block candidate Its target is 520917700 (= difficulty 87446777596).
2018-11-29 12:53:47.838 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:53:56.246 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:54:03.486 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:54:10.589 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:54:17.722 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining
2018-11-29 12:54:24.922 [info] <0.12633.7>@aec_conductor:start_mining:674 Starting mining

Please note that for 36 hours since the chain is up, only 18 addresses have found blocks. Do you have a dev farm or did you hire some farms to securize the network ?

Btw, I checked and didn’t find any. This is my beneficiary address :

While somes got 10K AE already :

In fact, only 6 addresses own the blockchain, mining 97% of the blocks. I’m still surprised I can’t get in with 20 1080tis the first day of a chain.


That looks slow :frowning: I was expecting much faster mining there… I’m happy to try helping you debug this.

Could you make a larger chunk of log/epoch_pow_cuckoo.log available (not sure if there are size limits here)? There must be a bottleneck somewhere. I need to see the whole thing from one set of “Executing cmd: …” until the next one. I am sadly not a GPU expert, but rather a core developer (Erlang) but will try to see what I can do to help.

We saw already on the testnet during the last couple of days before launching Roma network that there were some really powerful miners being active and they seem to be mining a lot… And no, it does not look like you managed to find a block.


Here you go : egentura.com/epoch_pow_cuckoo.log

Technically I have 3 rigs :

  • 1 rig with 1 GPU having a delay of 0.7s
  • 1 rig with 7 GPU having a delay of 2.3s
  • 1 rig with 12 GPU having a delay of 7s

So that sounds like more GPUs, less efficiency. Which might explain the problem with many miners who didn’t find any block since the launch.

The question here is… how to optimize it ? A software trick ? A better CPU ? More RAM ?


I was doing some experiments with multi GPU AWS instances and had similar problems. Following tweaks have speeded up mining significantly: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/optimize_gpu.html Maybe be it will also work with your rig.


The current setup seems to incur an overhead proportional to the number of GPUs you are using. This is not something you can improve easily on your side. We’ll look into this more.


I’m unable to get it running on multiple gpu’s
tried building from source, any advice?


Hi bot :wink:

Well. Looks like 6 people found a way to fast track the mainnet with their results. I really wonder what should be optimized.


Where do you run into problems, it is hard to help without more details :wink:


in my epoch.yaml i have following

    beneficiary: "**myaddress**"
    autostart: true
            executable: cuda29
            instances: 6
            edge_bits: 29
            hex_encoded_header: true

When i launch the epoch in my node it will just crash.

when i change it to following it will mine, but only on a single gpu

        beneficiary: "**myaddress**"
        autostart: true
                executable: cuda29
                extra_args: "0,1,2,3,4,5"
                edge_bits: 29
                hex_encoded_header: true

I have build from source of multi gpu branch


If it crashes with the first configuration it unfortunately looks like you have not managed to pick up the branch correctly. Please look at the CUDA Miner Issue for some further details on how to check out (and verify you checked out the right thing) and build it.


I did it the right way i think

git clone https://github.com/aeternity/epoch.git epoch
cd epoch
git checkout multi_gpu

Tried doing both

make prod-build
make prod-package

And to build the cuda29 file

cd apps/aecuckoo
make cuda29