cuckoo icon indicating copy to clipboard operation
cuckoo copied to clipboard

mean32 solver

Open image28 opened this issue 3 years ago • 9 comments

Attempting to get the mean32.cpp solver working on nicehash. The grin-miner can compile the solver with an adjustment to the CMakelists.txt file. However nicehash requires an adjustment to get shares.

Not familiar with rust, so instead I've worked out a netcat based stratum client. ( to the point of login in and getting a job ).

Next I tried to pass the job to the tomato miner, connected to mean32.cpp Seems to be working, however I'm not sure how to split the work unit for nicehash.

Without the tomato miner the mean32.cpp solver seems to crash ( not sure if it is as up to date as the cuda solver.

Link to current code for minimal stratum getwork https://github.com/image28/netcat-stratum-client

image28 avatar Sep 20 '20 20:09 image28

Where in my repo did you see a mean32.cpp ?

tromp avatar Sep 20 '20 22:09 tromp

Sorry mistype, mean.cpp had recompiled it to mean32x8 using similar settings to mean31x8

image28 avatar Sep 22 '20 01:09 image28

If you're referring to src/cuckatoo/mean.cpp, then the reason there's no mean32xN target in the Makefile is because that program cannot handle DEDGEBITS=32 in any way (without a major rewrite). A working cuckatoo32 miner would be able to reproduce this solution:

$ ./lean32x8 -n 17 Looking for 42-cycle on cuckatoo32("",17) with trimming to 24 bits, 1 threads Using 512MB edge and 512MB node memory, and 8-way siphash cg.bytes 536870912 NEDGES/8 536870912 nonce 17 k0 k1 k2 k3 fd0724533e254344 e92d57cae433da09 fae2a33585783146 dff11f10fd83c908 95 trims completed 1759320 edges left 8-cycle found 42-cycle found 28-cycle found Time: 722800 ms Solution 6da0bbf b175276 f978803 187bea71 2074a1a6 22270923 2c70b560 411d193f 417c55d4 4ebbda62 5238584a 545efac9 569e98e1 57040b66 5e16153e 5e749d2e 60b771c2 68e63420 74a2825e 755790ac 7d5e280f 7fe4d148 934b32c8 94a0c441 9643fb25 9718e41d 982e6b8b 9c47d21c a1f64135 a90e209c abb868cb afef989e b0fc021e b20a7b56 b5e59931 b63e46b9 b8823ed5 d11e966c d95e515d e0245efe f3edc79a fb8a29ce Verified with cyclehash ece54030a34ecb1661d4bde78681828b83e992c7d563634761d8e6dfd458a51f

tromp avatar Sep 22 '20 07:09 tromp

I'm getting the follow error if it helps

./mean32 -n 12 -a -s -t 4 -r 2

Looking for 42-cycle on cuckatoo32("",12-13) with 50% edges Using 24GB bucket memory at 7feaf16d9010, 4x84MB thread memory at 7feadc7d4010, 8-way siphash, and 256 buckets. nonce 12 k0 k1 k2 k3 5c0348cfc71b5ce6 bf4141b92a45e49 7282d7893f658b88 61525294db9b617f genUnodes round 0 size 1073741824 rdtsc: 1109979515196 OOPS1: id 2 ux 128 y 255 edge ff000000 vs ffffffff

image28 avatar Sep 22 '20 14:09 image28

Yes, such OOPS errors are expected:-(

tromp avatar Sep 22 '20 15:09 tromp

Just moved cities, may look into it more soon. Attempted rewriting it twice up to the second OPPS now, but have been busy last 2 weeks.

image28 avatar Oct 04 '20 18:10 image28

Just testing my netcat-stratum-client project, does this look right apart from the 0 solutions! This is with your mean31x8 code

`Mon Nov 30 11:55:35 AM NZDT 2020 image@archlinux:~/Devel/github/netcat-stratum-client$ login Connection to mwc.2miners.com (51.89.96.116) 1111 port [tcp/lmsocialserver] succeeded! {"id":"0","jsonrpc":"2.0","method":"login","result":"ok"} {"id":"1","jsonrpc":"2.0","method":"getjobtemplate","result":{"height":549792,"difficulty":4,"job_id":0,"pre_pow":"000200000000000863a0000000005fc426e4000a4e1a262f7e6d9b0f4b1d8063e6cfa32557b0e40d8b5f59ba69943a4d9a791ba81375c5c672371c8d282103042fdaeb9f9485066d086aeea1d59fd03fb7732e2bccb5356469e4f3c909977438faef6379c5d1066ed462a70e292383f2a0d7871bcfb3361407405a6f481bff24b81e5207048cd4d5a002c30fad310e03e9384f81ba4e15b30d56de39cb42865605153240704f9ec37ceea344de7821c889ae40cafd853a2bcd41f4d1212db8d93da499ec26122633904957c741c597e98d7e00000000001799d9000000000012923d000079d65bd19b760000000d"}} {"id":"2","jsonrpc":"2.0","method":"keepalive","result":"ok"} ^X^X^C

Mon Nov 30 11:56:03 AM NZDT 2020 image@archlinux:~/Devel/github/netcat-stratum-client$ ./mean31x8 "000200000000000863a0000000005fc426e4000a4e1a262f7e6d9b0f4b1d8063e6cfa32557b0e40d8b5f59ba69943a4d9a791ba81375c5c672371c8d282103042fdaeb9f9485066d086aeea1d59fd03fb7732e2bccb5356469e4f3c909977438faef6379c5d1066ed462a70e292383f2a0d7871bcfb3361407405a6f481bff24b81e5207048cd4d5a002c30fad310e03e9384f81ba4e15b30d56de39cb42865605153240704f9ec37ceea344de7821c889ae40cafd853a2bcd41f4d1212db8d93da499ec26122633904957c741c597e98d7e00000000001799d9000000000012923d000079d65bd19b760000000d" Looking for 42-cycle on cuckatoo31("",0) with 50% edges Using 10GB bucket memory at 7fcd8482b010, 1x42MB thread memory at 7fcd81e49010, 8-way siphash, and 256 buckets. nonce 0 k0 k1 k2 k3 a34c6a2bdaa03a14 d736650ae53eee9e 9a22f05e3bffed5e b8d55478fa3a606d genUnodes round 0 size 2147483648 rdtsc: 42111666348 genVnodes round 1 size 1357420222 rdtsc: 111527354022 trimedges id 0 round 3 size 376385622 rdtsc: 31492541762 trimedges id 0 round 7 size 105861691 rdtsc: 5949457612 trimedges id 0 round 15 size 28955924 rdtsc: 1109514766 trimrename id 0 round 22 size 14512949 rdtsc: 1021068398 maxnnid 55420 trimrename id 0 round 23 size 13376952 rdtsc: 979086720 maxnnid 51034 trimedges1 id 0 round 31 size 7695724 rdtsc: 220106792 trimedges1 id 0 round 63 size 2003921 rdtsc: 79711194 trimrename1 id 0 round 94 size 921461 rdtsc: 59268106 maxnnid 3868 trimrename1 id 0 round 95 size 902530 rdtsc: 60398036 maxnnid 3770 4-cycle found 6-cycle found 18-cycle found 12-cycle found findcycles rdtsc: 1130107916 Time: 87741 ms 0 total solutions`

image28 avatar Nov 29 '20 23:11 image28

The run looks ok but it's C31, not C32, and it's not for your command-line argument header, it's just for ""

tromp$ ./mean31x8 Looking for 42-cycle on cuckatoo31("",0) with 50% edges Using 10GB bucket memory at 7fad38c00000, 1x42MB thread memory at 7fafd9800000, 8-way siphash, and 256 buckets. nonce 0 k0 k1 k2 k3 a34c6a2bdaa03a14 d736650ae53eee9e 9a22f05e3bffed5e b8d55478fa3a606d ...

tromp avatar Nov 29 '20 23:11 tromp

Still working out the correct command line arguments to used when I get a job from the pool

image28 avatar Nov 30 '20 00:11 image28