Very much appreciated! The donations are going towards new hardware, as I only have a GeForce GT 640 and Radeon 280X at the moment.
You are welcome! I played a bit with the gpu code, that is rocketship code for me, but I managed to understand that I cannot change it easily to
do random addresses as the stride is set at the initialization of the GPU node (not even sure if it's possible or if it's pheasible with the way gpu work is done). So I will use at intended

. I set a random stride and nextKey using the generatePrivateKey(); so it generates a new set everytime the app is launched and counts at the random next key.
I am using GTX 690X, launched the app twice, with 1 app per node (gtx 690 has 2 nodes) and I am getting a total of 80 Mh/s.
I though it would be cool to link this with the blocksci, but I think the way you made it work with loading the list into the memory of the GPU is much more efficient than doing queries to blocksci.
Best of luck with your project, it's very nice of you that you shared the code, as I see it was a lot of work involved.