Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Etar on June 30, 2023, 07:15:50 PM



Title: kangaroo ECDLP solver
Post by: Etar on June 30, 2023, 07:15:50 PM
ECDLP solver based on the Pollard's kangaroo method https://github.com/Etayson/Etarkangaroo
Gpu math is mostly based on JeanLucPons code https://github.com/JeanLucPons/Kangaroo/blob/master/GPU/GPUMath.h
But with some additions and modifications.
Supported Nvidia GPU architecture >=SM75
Range limited to 192bit
Initial kangaroos generation happens on GPU which is slightly faster.
You can save kangaroos after certain time interval and with saving hashtable you can be sure that after restart program will continue job.
It is possible to reset and save the hashtable after a certain time interval, followed by automatic merging into a single hashtable.
During the merging, you possible to find the desired key, and also the merger fixes the dead kangaroos and signals the GPU to reset them.
You can use server/client app for Etarkangaroo https://github.com/Etayson/Server-Client-apps-for-Etarkangaroo

GTX 1660super with -grid 88,128 and PL60% Memory +500 speed 890Mkey/s, PL90% Memory +500 speed 1000Mkey/s,
RTX 3070 with -grid 92,256 and PL56% speed 1535Mkey/s
For Windows only.
Purebasic v.5.31 required for compilation


Title: Re: kangaroo ECDLP solver
Post by: digaran on June 30, 2023, 07:34:11 PM
ECDLP solver based on the Pollard's kangaroo method https://github.com/Etayson/Etarkangaroo
Gpu math is mostly based on JeanLucPons code https://github.com/JeanLucPons/Kangaroo/blob/master/GPU/GPUMath.h
But with some additions and modifications.
Supported Nvidia GPU architecture >=SM75
Range limited to 192bit
Initial kangaroos generation happens on GPU which is slightly faster.
You can save kangaroos after certain time interval and with saving hashtable you can be sure that after restart program will continue job.
It is possible to reset and save the hashtable after a certain time interval, followed by automatic merging into a single hashtable.
During the merging, you possible to find the desired key, and also the merger fixes the dead kangaroos and signals the GPU to reset them.
You can use server/client app for Etarkangaroo https://github.com/Etayson/Server-Client-apps-for-Etarkangaroo

GTX 1660super with -grid 88,128 and PL60% Memory +500 speed 890Mkey/s, PL90% Memory +500 speed 1000Mkey/s,
RTX 3070 with -grid 92,256 and PL56% speed 1535Mkey/s
For Windows only.
Purebasic v.5.31 required for compilation
Do you have a binary which doesn't require compiling? The nvidia arch should also work for other nvidia systems right? If you could release a binary it would be great.


Title: Re: kangaroo ECDLP solver
Post by: Etar on June 30, 2023, 07:43:24 PM
-snip-
Do you have a binary which doesn't require compiling? The nvidia arch should also work for other nvidia systems right? If you could release a binary it would be great.

Here is you can find compiled exe files https://github.com/Etayson/Etarkangaroo/releases


Title: Re: kangaroo ECDLP solver
Post by: digaran on July 17, 2023, 06:14:25 PM
-snip-
Do you have a binary which doesn't require compiling? The nvidia arch should also work for other nvidia systems right? If you could release a binary it would be great.

Here is you can find compiled exe files https://github.com/Etayson/Etarkangaroo/releases
I tried to run this but it returns an error cuModuleLoad1-218
 GPU ( ARCH50 ) where is the problem? Appreciate it.


Title: Re: kangaroo ECDLP solver
Post by: Etar on July 17, 2023, 07:04:31 PM
-snip-
I tried to run this but it returns an error cuModuleLoad1-218
 GPU ( ARCH50 ) where is the problem? Appreciate it.
Supported Nvidia GPU architecture >=SM75(>=ARCH75)


Title: Re: kangaroo ECDLP solver
Post by: riceberryrice on July 23, 2023, 07:18:23 AM
-snip-
I tried to run this but it returns an error cuModuleLoad1-218
 GPU ( ARCH50 ) where is the problem? Appreciate it.
Supported Nvidia GPU architecture >=SM75(>=ARCH75)

Hi, Etar

Still require to use with Purebasic v5.31 right can not use with newest version

off topic
Cound you help to code basic function ECC for use Purebasic (GPU)
may be Purebasic possible easy use than C++ (CUDA)
I mean functions like Multiply, Add, double, (div, sub)
I would like to convert my python to use GPU (Purebasic)
Thank you for advance


Title: Re: kangaroo ECDLP solver
Post by: Etar on July 23, 2023, 04:29:15 PM
-snip-
I tried to run this but it returns an error cuModuleLoad1-218
 GPU ( ARCH50 ) where is the problem? Appreciate it.
Supported Nvidia GPU architecture >=SM75(>=ARCH75)

Hi, Etar

Still require to use with Purebasic v5.31 right can not use with newest version

off topic
Cound you help to code basic function ECC for use Purebasic (GPU)
may be Purebasic possible easy use than C++ (CUDA)
I mean functions like Multiply, Add, double, (div, sub)
I would like to convert my python to use GPU (Purebasic)
Thank you for advance
i use Purebasic 5.31 because  from newer versions, the author cut out the possibility of using the ASCII mode.
About function ECC look to the https://github.com/Etayson/Etarkangaroo/blob/main/lib/Curve64.pb
Here is all possible ecc function for CPU
Ecc for GPU is writen on PTX code not on Purebasic code.