Bitcoin Forum
April 19, 2024, 08:10:04 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Cuda scripts for point addition , multiplication etc  (Read 683 times)
brainless (OP)
Member
**
Offline Offline

Activity: 313
Merit: 34


View Profile
August 13, 2022, 09:46:26 AM
Merited by hugeblack (3), 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 ?

13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
1713557404
Hero Member
*
Offline Offline

Posts: 1713557404

View Profile Personal Message (Offline)

Ignore
1713557404
Reply with quote  #2

1713557404
Report to moderator
1713557404
Hero Member
*
Offline Offline

Posts: 1713557404

View Profile Personal Message (Offline)

Ignore
1713557404
Reply with quote  #2

1713557404
Report to moderator
1713557404
Hero Member
*
Offline Offline

Posts: 1713557404

View Profile Personal Message (Offline)

Ignore
1713557404
Reply with quote  #2

1713557404
Report to moderator
Bitcoin addresses contain a checksum, so it is very unlikely that mistyping an address will cause you to lose money.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713557404
Hero Member
*
Offline Offline

Posts: 1713557404

View Profile Personal Message (Offline)

Ignore
1713557404
Reply with quote  #2

1713557404
Report to moderator
NotATether
Legendary
*
Offline Offline

Activity: 1582
Merit: 6670


bitcoincleanup.com / bitmixlist.org


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.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 45


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: 313
Merit: 34


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


13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
NotATether
Legendary
*
Offline Offline

Activity: 1582
Merit: 6670


bitcoincleanup.com / bitmixlist.org


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.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
brainless (OP)
Member
**
Offline Offline

Activity: 313
Merit: 34


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

13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
fxsniper
Member
**
Offline Offline

Activity: 406
Merit: 45


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: 313
Merit: 34


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

13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
alexeyneu
Member
**
Offline Offline

Activity: 312
Merit: 30


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

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: 313
Merit: 34


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

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

13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
alexeyneu
Member
**
Offline Offline

Activity: 312
Merit: 30


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

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

Activity: 313
Merit: 34


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

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

13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
COBRAS
Member
**
Offline Offline

Activity: 814
Merit: 20

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


View Profile
September 23, 2022, 02:09:46 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

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: 313
Merit: 34


View Profile
September 23, 2022, 10:56:44 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
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

13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
brainless (OP)
Member
**
Offline Offline

Activity: 313
Merit: 34


View Profile
September 27, 2022, 10:17:01 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


did someone had make test to process 50k pubkeys, and could write their time to finish python process

13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
wedom
Jr. Member
*
Offline Offline

Activity: 48
Merit: 11


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

...
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: 313
Merit: 34


View Profile
September 28, 2022, 05:26:54 AM
Merited by hugeblack (4), vapourminer (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



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

13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
CrunchyF
Jr. Member
*
Offline Offline

Activity: 54
Merit: 26


View Profile
September 28, 2022, 02:53:52 PM
Last edit: September 28, 2022, 03:25:48 PM by CrunchyF
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

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: 313
Merit: 34


View Profile
September 28, 2022, 08:37:15 PM
 #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


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

13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
brainless (OP)
Member
**
Offline Offline

Activity: 313
Merit: 34


View Profile
September 28, 2022, 08:38:12 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


example
File B :
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
0370b55404702ffa86ecfa4e88e0f354004a0965a5eea5fbbd297436001ae920df
031fb966918db3af46c37234b6a4b043719886d6a05859ba32f72742d6141f7ae6
027dda7bb4a07894280993cb04ba269905446cfee186833dc6cb46d02979bb4147
0322d9e364b9274dab098bcb23e0428e8a416d54f05a781281ee221db69e1ec7b8
03354a9e0deb417e0a447d8b8d23dd5e98d0ae3e70186eca8cde809c4b8fa8331f
03625fa450aed083fb30166766d5874131adb168c0247cbff83987297bf873e45d
03102c56fc72cbe8d908c4c2dd498df4e92719187cf9c3ef4c59f111bd4ff36ede
0324acb1c19b6dfc25defb01c2e2681ae82deacc0ff21ae8ff01f82f37a6a2147f
028ed5001a40f95405950a8d53420e32009824c636792e16626e12e24027269fa9

File A
0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
02c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5
02f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9
02e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13
022f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4
03fff97bd5755eeea420453a14355235d382f6472f8568a18b2f057a1460297556
025cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc
022f01e5e15cca351daff3843fb70f3c2f0a1bdd05e5af888a67784ef3e10a2a01
03acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe
03a0434d9e47f3c86235477c7b1ae6ae5d3442d49b1943c2b752a68e2a47e247c7

above 2 files are
file A is start dec of hex 1 to 10 (pubkeys) 10 pubkeys
file B is start dec of hex 1000 to 1010 (pubkeys) 10 pubkeys

load file B in memory
load file A and start process with addition point 1 (0279be667...) till first match from File B (loaded in memory), as found match first print and break process

above example all match will be 10 pubkeys print to file
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8
039d1abaec9f5715a15c7628244170951e0f85e87f68ca5393d3f9fc3fa23a69c8


13sXkWqtivcMtNGQpskD78iqsgVy9hcHLF
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!