Bitcoin Forum
October 01, 2022, 08:27:34 AM *
News: Latest Bitcoin Core release: 23.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Cuda scripts for point addition , multiplication etc  (Read 439 times)
brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
August 13, 2022, 09:46:26 AM
Merited by Welsh (2)
 #1

with reference of old post
https://bitcointalk.org/index.php?topic=5244940.msg55421924#msg55421924


if i explain your word in easy example commands for new gpu based develop application/repo, by jean luc or other developer, could be develop, or if any one know already developed can post links and refferance

here are some example aspected commands
./vs-pub -c  -gpu -input in.txt -output out.txt -add 0250863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B2352 #pubkey
./vs-pub -c  -gpu -input in.txt -output out.txt -mul 123456789 # its privatekey in num (not hex)
./vs-pub -c  -gpu -input in.txt -output out.txt -sub 0250863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B2352 #pubkey
./vs-pub -c  -gpu -input in.txt -output out.txt -sub 0250863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B2352 -r (reverse like
02508... pubkey substract to all listed pubkey inside in.txt
-c is compressed pubkey
-u is uncompressed pubkey
-input is load of compressed/uncompressed pubkeys list
-output is results output to file
-r is reverse of sub ( listed pubkey in command minus(-) in.txt (pubkeys)

had any one worked and created ?
Make sure you back up your wallet regularly! Unlike a bank account, nobody can help you if you lose access to your BTC.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1664612854
Hero Member
*
Offline Offline

Posts: 1664612854

View Profile Personal Message (Offline)

Ignore
1664612854
Reply with quote  #2

1664612854
Report to moderator
1664612854
Hero Member
*
Offline Offline

Posts: 1664612854

View Profile Personal Message (Offline)

Ignore
1664612854
Reply with quote  #2

1664612854
Report to moderator
NotATether
Legendary
*
Offline Offline

Activity: 1008
Merit: 4006


Defend Bitcoin and its PoW: bitcoincleanup.com


View Profile WWW
August 13, 2022, 10:05:42 AM
 #2

I got no NVIDIA GPUs lying around so I'm unable to make anything like this. It's kind of annoying that this is a basic limitation because it prevents anybody from working on these things in the first place.

fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 37


View Profile
August 15, 2022, 09:56:26 AM
 #3


I think the next calculation maybe need CUDA GPU to calculate with massive number calculate (maybe style like brute force calculate)
maybe you can find cheap coder CUDA on Fiverr
another way fast calculate without GPU is to try using python with multiprocess (multi-core CPU) to replace
of course, it is still slower than using CUDA GPU to calculate
AMD Ryzen Threadripper 3990X 64-Core, 128-Thread cost over $7000 still expensive same cust of hi-end 2GPU)
programmer CUDA will be coded if they interesting in that idea
brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
August 16, 2022, 07:14:55 AM
 #4


I think the next calculation maybe need CUDA GPU to calculate with massive number calculate (maybe style like brute force calculate)
maybe you can find cheap coder CUDA on Fiverr
another way fast calculate without GPU is to try using python with multiprocess (multi-core CPU) to replace
of course, it is still slower than using CUDA GPU to calculate
AMD Ryzen Threadripper 3990X 64-Core, 128-Thread cost over $7000 still expensive same cust of hi-end 2GPU)
programmer CUDA will be coded if they interesting in that idea

python scripts, peoples have from more then 8 years, its always seems slow against c++ and more cuda, maybe peoples dont have time or logic to play trillions keys calc, max they need to calc (not to play) few hundrds or thousands
but as i need to calc key for 125 and 130 puzzle, i need little bit more fast calc, only cuda could help on this stage

NotATether
Legendary
*
Offline Offline

Activity: 1008
Merit: 4006


Defend Bitcoin and its PoW: bitcoincleanup.com


View Profile WWW
August 16, 2022, 04:03:57 PM
Merited by vapourminer (1)
 #5

python scripts, peoples have from more then 8 years, its always seems slow against c++ and more cuda, maybe peoples dont have time or logic to play trillions keys calc, max they need to calc (not to play) few hundrds or thousands
but as i need to calc key for 125 and 130 puzzle, i need little bit more fast calc, only cuda could help on this stage

Optimize whatever CUDA code you find, but in the long run, you gotta either run a distributed CUDA cracker, or write one for FPGAs. Think of it like 2013 mining difficulty becoming too high for GPUs.

brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
August 16, 2022, 05:47:27 PM
 #6

python scripts, peoples have from more then 8 years, its always seems slow against c++ and more cuda, maybe peoples dont have time or logic to play trillions keys calc, max they need to calc (not to play) few hundrds or thousands
but as i need to calc key for 125 and 130 puzzle, i need little bit more fast calc, only cuda could help on this stage

Optimize whatever CUDA code you find, but in the long run, you gotta either run a distributed CUDA cracker, or write one for FPGAs. Think of it like 2013 mining difficulty becoming too high for GPUs.

no need distributed CUDA cracker,

simple python do is by lib fastecdsa or ecdsa
where you do pubkey + pubkey, pubkey - pubkey, pubkey * 123 int value etc
same no advancement, no hard programming, rgis logic to cuda process
cpu process like 200k/s etc and cuda run millions/s or 2g/s, depand on cuda device

hope cuda developer understand about this simple method on ecdsa workout
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 37


View Profile
August 20, 2022, 04:43:18 AM
 #7

don't wait for someone to code CUDA GPU

try test
https://github.com/iceland2k14/secp256k1

still use CPU but better than simple python
but the result get is pubkey base

I know CUDA GPU fast than 1000x time

how fast between compare speed
python ecdsa+gmpy2   (pip install ecdsa[gmpy2])
python + fastecdsa  (can use only on Linux or WSL2, can not use in windows)
python + iceland2k14/secp256k1   (dll on windows)

have other options available for fast  point addition , multiplication on CPU
brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
September 11, 2022, 02:48:51 PM
 #8

don't wait for someone to code CUDA GPU

try test
https://github.com/iceland2k14/secp256k1

still use CPU but better than simple python
but the result get is pubkey base

I know CUDA GPU fast than 1000x time

how fast between compare speed
python ecdsa+gmpy2   (pip install ecdsa[gmpy2])
python + fastecdsa  (can use only on Linux or WSL2, can not use in windows)
python + iceland2k14/secp256k1   (dll on windows)

have other options available for fast  point addition , multiplication on CPU


tried but not fruitful , most similar to fastecdsa speed, only gpu based speed will increase,
and all gpu developers are just copy paste each other source code for just increament from privatekeys to addresses/hash160, maybe they dont have time to build as per different calc based, above is very simple basic of point add/sub/mul by intg or pubkey(point), let see which one developer jump with creative mind
ETFbitcoin
Legendary
*
Offline Offline

Activity: 2282
Merit: 4989


PNNV.COM Live bitcoin price monitor


View Profile
September 12, 2022, 12:34:15 PM
 #9

don't wait for someone to code CUDA GPU

try test
https://github.com/iceland2k14/secp256k1

--snip--
tried but not fruitful , most similar to fastecdsa speed, only gpu based speed will increase,

That's not surprising since fastecdsa call C code to perform heavy computation.


and all gpu developers are just copy paste each other source code for just increament from privatekeys to addresses/hash160, maybe they dont have time to build as per different calc based, above is very simple basic of point add/sub/mul by intg or pubkey(point), let see which one developer jump with creative mind

It's advantage of open source though, developer could use existing code rather than writing from scratch. Besides, without more funding or higher Bitcoin popularity, it could take really long time before someone decide to write such tool.

alexeyneu
Member
**
Offline Offline

Activity: 240
Merit: 11


View Profile
September 13, 2022, 06:48:07 AM
 #10

if you see secp256k1 (c++) lib - something going on. not sure if they're using sse at least but i see some  progress
brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
September 13, 2022, 07:20:26 AM
Merited by vapourminer (1)
 #11

if you see secp256k1 (c++) lib - something going on. not sure if they're using sse at least but i see some  progress
yes
secp256k1 (c++) lib
and
pure c script/tools for basic point addition/mul/sub

other saying we write c code for python, but only could run over python, mean slow speeds, Smiley
actually engine loaded on donkey and saying enging speed,
they need load donkey over engine, then say engine speed Smiley

pure c  speed 100x over python
and then c to cuda, speed 10000x over python/c

let see who catch idea'a
alexeyneu
Member
**
Offline Offline

Activity: 240
Merit: 11


View Profile
September 13, 2022, 08:46:26 AM
 #12

yeah it's C lib. c++ one is just a port (badly made)
brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
September 19, 2022, 10:08:54 AM
 #13

yeah it's C lib. c++ one is just a port (badly made)

any one have script for c++ or cuda for said format in this github
https://github.com/phrutis/Rotor-Cuda/issues/44
COBRAS
Member
**
Offline Offline

Activity: 644
Merit: 16

$$P2P BTC BRUTE.JOIN NOW ! https://uclck.me/SQPJk


View Profile
September 23, 2022, 02:09:46 AM
 #14

yeah it's C lib. c++ one is just a port (badly made)

any one have script for c++ or cuda for said format in this github
https://github.com/phrutis/Rotor-Cuda/issues/44

doub,mul, sub CUDA https://github.com/XopMC/CudaBrainSecp

$$$ P2P NETWORK FOR BTC WALLET.DAT BRUTE F ORCE .JOIN NOW=GET MANY COINS NOW !!!
https://github.com/phrutis/LostWallet  https://t.me/+2niP9bQ8uu43MDg6
brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
September 23, 2022, 10:56:44 AM
 #15

yeah it's C lib. c++ one is just a port (badly made)

any one have script for c++ or cuda for said format in this github
https://github.com/phrutis/Rotor-Cuda/issues/44

doub,mul, sub CUDA https://github.com/XopMC/CudaBrainSecp
same secp256k1 wtien in vanitygen, kanagroo scripts, bitcrack, other tools in c by iceland...
but create like commands base working as above mention examples commands, no where
same i upload simple compare 2 files in add/sub pubkeys point, i upload python script and e sample files A B, check process time for 50k pubkeys

maybe you can find tweek python for better speed, but in my view, c++ or cuda, will do this process in maximum 2 seconds
write solutions here or at github issue area
https://github.com/onetrader2022/python-secp-compare
brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
September 27, 2022, 10:17:01 AM
 #16

yeah it's C lib. c++ one is just a port (badly made)

any one have script for c++ or cuda for said format in this github
https://github.com/phrutis/Rotor-Cuda/issues/44

doub,mul, sub CUDA https://github.com/XopMC/CudaBrainSecp
same secp256k1 wtien in vanitygen, kanagroo scripts, bitcrack, other tools in c by iceland...
but create like commands base working as above mention examples commands, no where
same i upload simple compare 2 files in add/sub pubkeys point, i upload python script and e sample files A B, check process time for 50k pubkeys

maybe you can find tweek python for better speed, but in my view, c++ or cuda, will do this process in maximum 2 seconds
write solutions here or at github issue area
https://github.com/onetrader2022/python-secp-compare


did someone had make test to process 50k pubkeys, and could write their time to finish python process
wedom
Jr. Member
*
Offline Offline

Activity: 48
Merit: 11


View Profile
September 27, 2022, 06:00:40 PM
Merited by vapourminer (2), Halab (2)
 #17

...
maybe you can find tweek python for better speed, but in my view, c++ or cuda, will do this process in maximum 2 seconds
write solutions here or at github issue area
https://github.com/onetrader2022/python-secp-compare


I tested this python compare script. I only added the time output. Here are the results:
Code:
start = 2022-09-27 16:58:32.784093
1000 2022-09-27 17:01:12.165173
2000 2022-09-27 17:03:50.849176
3000 2022-09-27 17:06:31.387720
4000 2022-09-27 17:09:12.735062
5000 2022-09-27 17:11:53.893209
6000 2022-09-27 17:14:32.976817
7000 2022-09-27 17:17:07.546195
8000 2022-09-27 17:19:46.752069
9000 2022-09-27 17:22:27.578180
10000 2022-09-27 17:25:03.305788
11000 2022-09-27 17:27:38.671975
12000 2022-09-27 17:30:17.019777
13000 2022-09-27 17:32:57.495925
14000 2022-09-27 17:35:35.705045
15000 2022-09-27 17:38:13.914685
16000 2022-09-27 17:40:52.500355
17000 2022-09-27 17:43:34.293753
18000 2022-09-27 17:46:18.734021
19000 2022-09-27 17:48:56.165592
20000 2022-09-27 17:51:35.212564
21000 2022-09-27 17:54:26.738358
22000 2022-09-27 17:57:09.514139
23000 2022-09-27 17:59:47.929463
24000 2022-09-27 18:02:22.697234
25000 2022-09-27 18:05:00.128646
26000 2022-09-27 18:07:41.784672
27000 2022-09-27 18:10:22.883876
28000 2022-09-27 18:13:03.262512
29000 2022-09-27 18:15:41.925345
30000 2022-09-27 18:18:21.313147
31000 2022-09-27 18:21:06.744216
32000 2022-09-27 18:23:49.502670
33000 2022-09-27 18:26:32.710866
34000 2022-09-27 18:29:16.496636
35000 2022-09-27 18:32:00.074711
36000 2022-09-27 18:34:43.907887
37000 2022-09-27 18:37:28.137582
38000 2022-09-27 18:40:07.641310
39000 2022-09-27 18:42:52.397884
40000 2022-09-27 18:45:52.935812
41000 2022-09-27 18:48:32.099146
42000 2022-09-27 18:51:11.315534
43000 2022-09-27 18:53:49.433403
44000 2022-09-27 18:56:31.338416
45000 2022-09-27 18:59:13.230555
46000 2022-09-27 19:01:54.819965
47000 2022-09-27 19:04:34.469577
48000 2022-09-27 19:07:12.553220
49000 2022-09-27 19:09:56.293709
end = 2022-09-27 19:10:23.538917


brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
September 28, 2022, 05:26:54 AM
Merited by vapourminer (2)
 #18

...
maybe you can find tweek python for better speed, but in my view, c++ or cuda, will do this process in maximum 2 seconds
write solutions here or at github issue area
https://github.com/onetrader2022/python-secp-compare


I tested this python compare script. I only added the time output. Here are the results:
Code:
start = 2022-09-27 16:58:32.784093
1000 2022-09-27 17:01:12.165173
2000 2022-09-27 17:03:50.849176
3000 2022-09-27 17:06:31.387720
4000 2022-09-27 17:09:12.735062
5000 2022-09-27 17:11:53.893209
6000 2022-09-27 17:14:32.976817
7000 2022-09-27 17:17:07.546195
8000 2022-09-27 17:19:46.752069
9000 2022-09-27 17:22:27.578180
10000 2022-09-27 17:25:03.305788
11000 2022-09-27 17:27:38.671975
12000 2022-09-27 17:30:17.019777
13000 2022-09-27 17:32:57.495925
14000 2022-09-27 17:35:35.705045
15000 2022-09-27 17:38:13.914685
16000 2022-09-27 17:40:52.500355
17000 2022-09-27 17:43:34.293753
18000 2022-09-27 17:46:18.734021
19000 2022-09-27 17:48:56.165592
20000 2022-09-27 17:51:35.212564
21000 2022-09-27 17:54:26.738358
22000 2022-09-27 17:57:09.514139
23000 2022-09-27 17:59:47.929463
24000 2022-09-27 18:02:22.697234
25000 2022-09-27 18:05:00.128646
26000 2022-09-27 18:07:41.784672
27000 2022-09-27 18:10:22.883876
28000 2022-09-27 18:13:03.262512
29000 2022-09-27 18:15:41.925345
30000 2022-09-27 18:18:21.313147
31000 2022-09-27 18:21:06.744216
32000 2022-09-27 18:23:49.502670
33000 2022-09-27 18:26:32.710866
34000 2022-09-27 18:29:16.496636
35000 2022-09-27 18:32:00.074711
36000 2022-09-27 18:34:43.907887
37000 2022-09-27 18:37:28.137582
38000 2022-09-27 18:40:07.641310
39000 2022-09-27 18:42:52.397884
40000 2022-09-27 18:45:52.935812
41000 2022-09-27 18:48:32.099146
42000 2022-09-27 18:51:11.315534
43000 2022-09-27 18:53:49.433403
44000 2022-09-27 18:56:31.338416
45000 2022-09-27 18:59:13.230555
46000 2022-09-27 19:01:54.819965
47000 2022-09-27 19:04:34.469577
48000 2022-09-27 19:07:12.553220
49000 2022-09-27 19:09:56.293709
end = 2022-09-27 19:10:23.538917



aprox 2 hours 15 minutes for 50k pubkey comparison , script generate addition in 200 pubkeys, total 10 million keys generate from 50k pubkeys, to verify
remember its simple addition, but for each key from 50k pubkeys,
here problem is python, uses 1 by 1 thread,
if this same tool in cuda would be done in 2 seconds
or maybe tool in c maybe do it less then 10 minutes

any c or cuda developer can help us to write such tools, for further research
thankx
CrunchyF
Jr. Member
*
Offline Offline

Activity: 31
Merit: 4


View Profile
September 28, 2022, 02:53:52 PM
Last edit: September 28, 2022, 03:25:48 PM by CrunchyF
Merited by vapourminer (2)
 #19

...
maybe you can find tweek python for better speed, but in my view, c++ or cuda, will do this process in maximum 2 seconds
write solutions here or at github issue area
https://github.com/onetrader2022/python-secp-compare


I tested this python compare script. I only added the time output. Here are the results:
Code:
start = 2022-09-27 16:58:32.784093
1000 2022-09-27 17:01:12.165173
2000 2022-09-27 17:03:50.849176
3000 2022-09-27 17:06:31.387720
4000 2022-09-27 17:09:12.735062
5000 2022-09-27 17:11:53.893209
6000 2022-09-27 17:14:32.976817
7000 2022-09-27 17:17:07.546195
8000 2022-09-27 17:19:46.752069
9000 2022-09-27 17:22:27.578180
10000 2022-09-27 17:25:03.305788
11000 2022-09-27 17:27:38.671975
12000 2022-09-27 17:30:17.019777
13000 2022-09-27 17:32:57.495925
14000 2022-09-27 17:35:35.705045
15000 2022-09-27 17:38:13.914685
16000 2022-09-27 17:40:52.500355
17000 2022-09-27 17:43:34.293753
18000 2022-09-27 17:46:18.734021
19000 2022-09-27 17:48:56.165592
20000 2022-09-27 17:51:35.212564
21000 2022-09-27 17:54:26.738358
22000 2022-09-27 17:57:09.514139
23000 2022-09-27 17:59:47.929463
24000 2022-09-27 18:02:22.697234
25000 2022-09-27 18:05:00.128646
26000 2022-09-27 18:07:41.784672
27000 2022-09-27 18:10:22.883876
28000 2022-09-27 18:13:03.262512
29000 2022-09-27 18:15:41.925345
30000 2022-09-27 18:18:21.313147
31000 2022-09-27 18:21:06.744216
32000 2022-09-27 18:23:49.502670
33000 2022-09-27 18:26:32.710866
34000 2022-09-27 18:29:16.496636
35000 2022-09-27 18:32:00.074711
36000 2022-09-27 18:34:43.907887
37000 2022-09-27 18:37:28.137582
38000 2022-09-27 18:40:07.641310
39000 2022-09-27 18:42:52.397884
40000 2022-09-27 18:45:52.935812
41000 2022-09-27 18:48:32.099146
42000 2022-09-27 18:51:11.315534
43000 2022-09-27 18:53:49.433403
44000 2022-09-27 18:56:31.338416
45000 2022-09-27 18:59:13.230555
46000 2022-09-27 19:01:54.819965
47000 2022-09-27 19:04:34.469577
48000 2022-09-27 19:07:12.553220
49000 2022-09-27 19:09:56.293709
end = 2022-09-27 19:10:23.538917



aprox 2 hours 15 minutes for 50k pubkey comparison , script generate addition in 200 pubkeys, total 10 million keys generate from 50k pubkeys, to verify
remember its simple addition, but for each key from 50k pubkeys,
here problem is python, uses 1 by 1 thread,
if this same tool in cuda would be done in 2 seconds
or maybe tool in c maybe do it less then 10 minutes

any c or cuda developer can help us to write such tools, for further research
thankx

Hello i wrote a custom Cuda library for point addition , multiplication etc  (adapted from Jean-Luc Pons one)...the use of pycuda (python) to launch the kernel is possible  
But can you explain what the purpose of the script you want to made?
Because that's right, that the speed of point addition will be around 1Gigakeys/sec on a RTX3070, only if you work with pubkey loaded in ram.


The main problem of what you want to do will be the speed bottleneck of reading the input file and writing the result in the output file on the HDD (1Giga Key are more than 32GB of size on the HDD )
So you can compute 1Giga Key in one sec with the GPU.but you will spend a long time to convert your keys sequentially in hexed-ASCII  and write the result (work done by the cpu) because a gpu can't write or read a file.

To resume
Convert input file to chunks of block in a grid of threads-> lauch kernel on the GPU -> return and convert the result
                              SLOW                                                               FAST                                    SLOW
brainless (OP)
Member
**
Offline Offline

Activity: 246
Merit: 21


View Profile
September 28, 2022, 08:37:15 PM
 #20

...
maybe you can find tweek python for better speed, but in my view, c++ or cuda, will do this process in maximum 2 seconds
write solutions here or at github issue area
https://github.com/onetrader2022/python-secp-compare


I tested this python compare script. I only added the time output. Here are the results:
Code:
start = 2022-09-27 16:58:32.784093
1000 2022-09-27 17:01:12.165173
2000 2022-09-27 17:03:50.849176
3000 2022-09-27 17:06:31.387720
4000 2022-09-27 17:09:12.735062
5000 2022-09-27 17:11:53.893209
6000 2022-09-27 17:14:32.976817
7000 2022-09-27 17:17:07.546195
8000 2022-09-27 17:19:46.752069
9000 2022-09-27 17:22:27.578180
10000 2022-09-27 17:25:03.305788
11000 2022-09-27 17:27:38.671975
12000 2022-09-27 17:30:17.019777
13000 2022-09-27 17:32:57.495925
14000 2022-09-27 17:35:35.705045
15000 2022-09-27 17:38:13.914685
16000 2022-09-27 17:40:52.500355
17000 2022-09-27 17:43:34.293753
18000 2022-09-27 17:46:18.734021
19000 2022-09-27 17:48:56.165592
20000 2022-09-27 17:51:35.212564
21000 2022-09-27 17:54:26.738358
22000 2022-09-27 17:57:09.514139
23000 2022-09-27 17:59:47.929463
24000 2022-09-27 18:02:22.697234
25000 2022-09-27 18:05:00.128646
26000 2022-09-27 18:07:41.784672
27000 2022-09-27 18:10:22.883876
28000 2022-09-27 18:13:03.262512
29000 2022-09-27 18:15:41.925345
30000 2022-09-27 18:18:21.313147
31000 2022-09-27 18:21:06.744216
32000 2022-09-27 18:23:49.502670
33000 2022-09-27 18:26:32.710866
34000 2022-09-27 18:29:16.496636
35000 2022-09-27 18:32:00.074711
36000 2022-09-27 18:34:43.907887
37000 2022-09-27 18:37:28.137582
38000 2022-09-27 18:40:07.641310
39000 2022-09-27 18:42:52.397884
40000 2022-09-27 18:45:52.935812
41000 2022-09-27 18:48:32.099146
42000 2022-09-27 18:51:11.315534
43000 2022-09-27 18:53:49.433403
44000 2022-09-27 18:56:31.338416
45000 2022-09-27 18:59:13.230555
46000 2022-09-27 19:01:54.819965
47000 2022-09-27 19:04:34.469577
48000 2022-09-27 19:07:12.553220
49000 2022-09-27 19:09:56.293709
end = 2022-09-27 19:10:23.538917



aprox 2 hours 15 minutes for 50k pubkey comparison , script generate addition in 200 pubkeys, total 10 million keys generate from 50k pubkeys, to verify
remember its simple addition, but for each key from 50k pubkeys,
here problem is python, uses 1 by 1 thread,
if this same tool in cuda would be done in 2 seconds
or maybe tool in c maybe do it less then 10 minutes

any c or cuda developer can help us to write such tools, for further research
thankx

Hello i wrote a custom Cuda library for point addition , multiplication etc  (adapted from Jean-Luc Pons one)...the use of pycuda (python) to launch the kernel is possible  
But can you explain what the purpose of the script you want to made?
Because that's right, that the speed of point addition will be around 1Gigakeys/sec on a RTX3070, only if you work with pubkey loaded in ram.


The main problem of what you want to do will be the speed bottleneck of reading the input file and writing the result in the output file on the HDD (1Giga Key are more than 32GB of size on the HDD )
So you can compute 1Giga Key in one sec with the GPU.but you will spend a long time to convert your keys sequentially in hexed-ASCII  and write the result (work done by the cpu) because a gpu can't write or read a file.

To resume
Convert input file to chunks of block in a grid of threads-> lauch kernel on the GPU -> return and convert the result
                              SLOW                                                               FAST                                    SLOW


purpose of the script is filter duplicate (not indentical), duplicate in series
example
file b have 10 pubkeys (from dec 1 to 10) and load file A in mem for compare, where have 10 pubkeys ( from dec 1000 to 1010)
file b load all pubkeys as point and start addition with 1, at first found is pubkey dec 1000, print it
from both files i will have final point is pubkey dec 1000

in this process
10 pubkeys start addition to reach 1000
10*1000 = 10000 keys process
but print will be only 10 pubkeys same as file B count of pubkeys

if file B have 1m pubkeys
process keys would be 1000m pubkeys total, but print result after compare first match would be 1m pubkeys

if you can take compare.py script to pycuda, maybe its greate to work around
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!