The old solvers correspond to NRB1=32. This is the number of rows (out of 64) of bufferB that doesn’t overlap bufferA. By reducing it to 26, total memory size is reduced significantly, allowing NEPS_A/B to be raised to more comfortable levels resulting in much higher fidelity. Since I’m travelling, I don’t have time to properly test these versions, but I’m making them available for people to experiment with.
Using these solvers in grin-miner would require going into
grin-miner/cuckoo-miner/src/cuckoo_sys/plugins/cuckoo/
checking out branch memred2 and adjusting the compile options in CMakeLists.txt
none of which I can test on my laptop…
Unfortunately, this doesn’t seem to work. On my RTX2080ti, cuda31.0 exits after 195ms (about the seeding time), and cuda31.1 does not find the 42-cycle for nonce 99, reports 2 28 10 10 10 10 10-cycle instead
GPS on my rig is the same as before, the only difference I can tell is memred2 branch use up all the vRAM on each card, code from master branch uses about 50% of the vRAM
You have to add the new compile flags that @tromp mentioned above to the CMakeLists.txt file, more specifically in the if (NOT SKIP_CUCKATOO_GPU) section.
This means you need to merge the changes that @tromp made to his memred2 cuckoo repository on GitHub, make sure it compiles properly on your server, update the specific files that were revised, update CMakeLists.txt, and then re-compile (and solve any compilation errors on the way).
Modifying the CMakeLists.txt file is the second-to-last step in the process. If you didn’t do the first few critical steps then it’s better to wait until they’re packaged up.
Is there a quick way to tell whether you did it right? I’m running both versions now on different GPU. The experimental version seems to get a few more solutions, so far 21 vs 28, could still be luck though.
I just ran into the same issue. I think that @tromp’s latest commits broke the compilation process. Perhaps go back a few commits before he went to GrinConUS. From what I’m understanding, the improvements he made weren’t performance related at all, but more around reporting so that the reported gps rates in grin-miner match the gps rates that mining pools are reporting.
Ultimately, I think we’re going to have to wait for him to come back before we see further commits for both C31 and (hopefully) C32.
Ok, think I have most if not all bugs fixed now.
Please try latest memred2 commit, and let me know if you still see problems, or if it works for you. Even better if you can give fidelity stats…
NOTE: there is now an option to set expand to 3,
which is the default for 30+
This means that when trying the new solver within grin-miner, you need to avoid setting expand=2