I created my version of the BigStepGiantStep algorithm specifically for Nvidia graphics cards, working with Cuda and Windows x64 only. Check it out on GitHub. Would love to hear about your performance results.
It seems that you know a bit bsgs algo and x86 assembler....
So I would like to ask you one question. I already modified Jean's bsgs for curve "r1" (btc uses k1)
What is the meaning of start value? Jean even need start and stop values for k1 and k2.
Does the searched k must lie in this interval?
with v1.2 and single 2080ti i solve example pubkeys in range:
start: 49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5e0000000000000000
end: 49dccfd96dc5df56487436f5a1b18c4f5d34f65ddb48cb5effffffffffffffff
in 28minutes with params -w 26:
Here is pubkeys for searching:
it is 6 times faster then original bsgs from JLP based on CPU.
each baby step used 8 bytes memory. HT stored in GPU memory.
with -w 26 and -htsz 25(default), app generate 2^26 babysteps that stored in HT with size (2^25 + 2^26 )*8 bytes
Thank Etar
I think BSGS-cuda is work better than JLP BSGS
JLP BSGS is good but using very long time (for my GPU)
I test first sample command from github page
speed result (GPU GTX 1050 on laptop)
Result
JLP's BSGS does not support GPU; his is CPU only.
Side by side tests of BSGS Cuda and JLP's Kangaroo...
4 pubkeys all in 65 bit range:
Kangaroo total time = 2 mins 34 seconds:
BSGS Cuda total time = 1 min 29 seconds:
For at least this range (and probably more up to a certain size) the BSGS Cuda program will be faster, for checking multiple pubkeys, as the spin up time between
pub keys (finding a pub key and moving to the next pub key) is a lot faster than kangaroo program.
searching these 2 pubkeys in 100 bit range
034786ac12686480348261b5dce84efcffc27b56b512ca793a09229ed06d63058d
027ede4f01c7dd2690603cd0449fc4e4ac9ca2d11de2404ef2285ab897d2645391
some one can help me to understand what hardware gpu's models you are using for above result data ?
is there any ubuntu compilation/sourcecode program available, for cuda 8.0 and ccap 20, g++ 4.8
love to see your updates