Bitcoin Forum
April 19, 2026, 01:18:39 AM *
News: Latest Bitcoin Core release: 30.2 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 [430] 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 ... 651 »
  Print  
Author Topic: Bitcoin puzzle transaction ~32 BTC prize to who solves it  (Read 379961 times)
Akito S. M. Hosana
Jr. Member
*
Offline Offline

Activity: 420
Merit: 8


View Profile
April 04, 2025, 10:44:45 PM
 #8581

Is this a new trend now? Everyone is dealing with mutations? I thought I was in the wrong forum – that it was for genetics.  Grin
Dom1nic
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
April 05, 2025, 12:12:28 AM
 #8582

With all this code, my coding skills went from 0 to almost 0.5  Smiley
Bram24732
Member
**
Offline Offline

Activity: 322
Merit: 28


View Profile
April 05, 2025, 08:22:19 AM
 #8583

1. I still cannot understand how and why this work...can you elaborate on this please?
2. what do you mean by "At least I know that if you have the correct base key for the right bit flip?
thanks

Python code:
Code:
xor_masks = {
    67: 0b1100111100000011110111001010001111100110101111010011111001010001,
    66: 0b10111110011010001001010001011000011010100101000011100101000010001,
    65: 0b101011111000111010011101100101011111010010011011001011110011000,
    64: 0b100011111010111000001101100001001111011011101110110100101011,
    63: 0b1100110001101000010000001001010011001100001001011111110111,
    62: 0b100111000010101010111110000101001001111011100101010000010001,
    61: 0b110000110110100101011100100010111101000010011011011011111001,
    60: 0b111111100001011110011111011010110010011000010001000001,
    59: 0b10110110100100110100010001111000001101010100101110110000,
    58: 0b100111001100010100100011110101101111001110110010111011110,
    57: 0b10100110110100011011011111000011010100010100111100011,
    56: 0b1100010111001110100100111000101001110110000000000100000,
    55: 0b10101010000011110000001100100100110000001111011101011,
    54: 0b11100100100000100100100101010010100101110000010111100,
    53: 0b111111110000111011100011011100000011100110110010011,
    52: 0b1000001010001111010011011001101000110000111000011,
    51: 0b101011111000111101011110010111111111011000101011,
    50: 0b1110101000010101111000011110100010110110010101011,
    49: 0b100010111110100010010100111111101010000010110010,
    48: 0b10100100001100100101000001100011100010001100100,
    47: 0b100110010100111101111010010101100001101000101,
    46: 0b100010011111001111100011101110010101010111011,
    45: 0b11011101000000110101111010111100001111111010,
    44: 0b11111110101001100101001011100101001110000,
    43: 0b10100001011000100110110000011101001101110,
    42: 0b10101110111011110001110100111001001110000,
    41: 0b1010110001111001011001010011001110100100,
    40: 0b1011001010001101101101100110000101001,
    39: 0b11010010100000011111001111110000010110,
    38: 0b1110111000111110100000101001100101111,
    37: 0b100010101000100010101001010101101100,
    36: 0b11000100001011111011111010110000011,
    35: 0b1101010001001011011110111010001111,
    34: 0b10110101100110100110111011100010,
    33: 0b1010110100100110101011100100111,
    32: 0b1000111100111010101100111010001,
    31: 0b10101100000001100010111000,
    30: 0b10011010110011001010011011,
    29: 0b1000000111011010101011100001,
    28: 0b10011011101001001100010111,
    27: 0b1010100111100011110001010,
    26: 0b101111111100110110010001,
    25: 0b1011010000100011010,
    24: 0b1000111101010111111011,
    23: 0b1010101001000110101101,
    22: 0b100100001101111110000,
    21: 0b1000101101011001011,
    20: 0b101101001110101010,
    19: 0b101000101101100000,
    18: 0b1111011111110010,
    17: 0b1000100110110000,
    16: 0b11011011001001,
    15: 0b1011100001100,
    14: 0b1011011001111,
    13: 0b101110011111,
    12: 0b10110000100,
    11: 0b1101111100,
    10: 0b111111101,
    9: 0b101100,
    8: 0b11111,
    7: 0b110011,
    6: 0b1110,
    5: 0b1010,
    4: 0b111,
    3: 0b0,
    2: 0b0,
    1: 0b0
}

def generate_private_keys():
    print("Puzzle | Private Key")
    print("-------------------")
    for puzzle in range(1, 68):
        if puzzle in xor_masks:
            puzzle_end = 2**puzzle - 1
            private_key = puzzle_end ^ xor_masks[puzzle]
            print(f"{puzzle:6} | {private_key}")
        else:
            print(f"{puzzle:6} | (Missing XOR mask)")

generate_private_keys()


Is it clearer now? If not, then nothing.  Grin

Hi, still no understand why this works...and why it is more efficient than bruteforcing.
The masks I suppose are the result of Mutagen?
Can you take please two minutes to explain in full?

also, "private_key = puzzle_end ^ xor_masks[puzzle]" is useless given that you xor the end of the range which is all 1s with the "mask", so in reality your "mask" is the opposite bits of the private key ALWAYS...meaning it gives you nothing!

Thanks

It’s not more efficient than brute forcing. It actually requires the exact same number of computations than brute force to scan the range.

I solved 67 and 68 using custom software distributing the load across ~25k GPUs. 4090 stocks speeds : ~8.1Bkeys/sec. Don’t challenge me technically if you know shit about fuck, I’ll ignore you. Same goes if all you can do is LLM reply.
Akito S. M. Hosana
Jr. Member
*
Offline Offline

Activity: 420
Merit: 8


View Profile
April 05, 2025, 08:56:40 AM
 #8584

With all this code, my coding skills went from 0 to almost 0.5  Smiley

Last time, we got to 96% of the code, and I ran out of comments in Deepseek (the final solution was deleted). I don't know which AI is the bigger idiot: Deepseek or ChatGPT? Or me using them.   Grin
Dom1nic
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
April 05, 2025, 09:10:17 AM
 #8585

1. I still cannot understand how and why this work...can you elaborate on this please?
2. what do you mean by "At least I know that if you have the correct base key for the right bit flip?
thanks

Python code:
Code:
xor_masks = {
    67: 0b1100111100000011110111001010001111100110101111010011111001010001,
    66: 0b10111110011010001001010001011000011010100101000011100101000010001,
    65: 0b101011111000111010011101100101011111010010011011001011110011000,
    64: 0b100011111010111000001101100001001111011011101110110100101011,
    63: 0b1100110001101000010000001001010011001100001001011111110111,
    62: 0b100111000010101010111110000101001001111011100101010000010001,
    61: 0b110000110110100101011100100010111101000010011011011011111001,
    60: 0b111111100001011110011111011010110010011000010001000001,
    59: 0b10110110100100110100010001111000001101010100101110110000,
    58: 0b100111001100010100100011110101101111001110110010111011110,
    57: 0b10100110110100011011011111000011010100010100111100011,
    56: 0b1100010111001110100100111000101001110110000000000100000,
    55: 0b10101010000011110000001100100100110000001111011101011,
    54: 0b11100100100000100100100101010010100101110000010111100,
    53: 0b111111110000111011100011011100000011100110110010011,
    52: 0b1000001010001111010011011001101000110000111000011,
    51: 0b101011111000111101011110010111111111011000101011,
    50: 0b1110101000010101111000011110100010110110010101011,
    49: 0b100010111110100010010100111111101010000010110010,
    48: 0b10100100001100100101000001100011100010001100100,
    47: 0b100110010100111101111010010101100001101000101,
    46: 0b100010011111001111100011101110010101010111011,
    45: 0b11011101000000110101111010111100001111111010,
    44: 0b11111110101001100101001011100101001110000,
    43: 0b10100001011000100110110000011101001101110,
    42: 0b10101110111011110001110100111001001110000,
    41: 0b1010110001111001011001010011001110100100,
    40: 0b1011001010001101101101100110000101001,
    39: 0b11010010100000011111001111110000010110,
    38: 0b1110111000111110100000101001100101111,
    37: 0b100010101000100010101001010101101100,
    36: 0b11000100001011111011111010110000011,
    35: 0b1101010001001011011110111010001111,
    34: 0b10110101100110100110111011100010,
    33: 0b1010110100100110101011100100111,
    32: 0b1000111100111010101100111010001,
    31: 0b10101100000001100010111000,
    30: 0b10011010110011001010011011,
    29: 0b1000000111011010101011100001,
    28: 0b10011011101001001100010111,
    27: 0b1010100111100011110001010,
    26: 0b101111111100110110010001,
    25: 0b1011010000100011010,
    24: 0b1000111101010111111011,
    23: 0b1010101001000110101101,
    22: 0b100100001101111110000,
    21: 0b1000101101011001011,
    20: 0b101101001110101010,
    19: 0b101000101101100000,
    18: 0b1111011111110010,
    17: 0b1000100110110000,
    16: 0b11011011001001,
    15: 0b1011100001100,
    14: 0b1011011001111,
    13: 0b101110011111,
    12: 0b10110000100,
    11: 0b1101111100,
    10: 0b111111101,
    9: 0b101100,
    8: 0b11111,
    7: 0b110011,
    6: 0b1110,
    5: 0b1010,
    4: 0b111,
    3: 0b0,
    2: 0b0,
    1: 0b0
}

def generate_private_keys():
    print("Puzzle | Private Key")
    print("-------------------")
    for puzzle in range(1, 68):
        if puzzle in xor_masks:
            puzzle_end = 2**puzzle - 1
            private_key = puzzle_end ^ xor_masks[puzzle]
            print(f"{puzzle:6} | {private_key}")
        else:
            print(f"{puzzle:6} | (Missing XOR mask)")

generate_private_keys()


Is it clearer now? If not, then nothing.  Grin

Hi, still no understand why this works...and why it is more efficient than bruteforcing.
The masks I suppose are the result of Mutagen?
Can you take please two minutes to explain in full?

also, "private_key = puzzle_end ^ xor_masks[puzzle]" is useless given that you xor the end of the range which is all 1s with the "mask", so in reality your "mask" is the opposite bits of the private key ALWAYS...meaning it gives you nothing!

Thanks

It’s not more efficient than brute forcing. It actually requires the exact same number of computations than brute force to scan the range.

Yup, even with my skills, it’s obvious that the total number of bit combinations is the same as the keys in the puzzle. So I’ll probably use this approach when choosing the sub-ranges I’m scanning: start from the previous range, apply the mutagen to that string.

If the key is found before 50% of the 50% expected in random mode, then we can start talking about efficiency.
Akito S. M. Hosana
Jr. Member
*
Offline Offline

Activity: 420
Merit: 8


View Profile
April 05, 2025, 09:27:10 AM
 #8586

Yup, even with my skills, it’s obvious that the total number of bit combinations is the same as the keys in the puzzle. So I’ll probably use this approach when choosing the sub-ranges I’m scanning: start from the previous range, apply the mutagen to that string.

If the key is found before 50% of the 50% expected in random mode, then we can start talking about efficiency.

Maybe they have something up their sleeve that they haven't shown publicly yet—some kind of filtering XOR masks or something more complex that might work. Anyway, maybe it's just a more elegant way to achieve the same thing, though not necessarily faster than other solutions.
AlanJohnson
Member
**
Offline Offline

Activity: 185
Merit: 11


View Profile
April 05, 2025, 10:02:35 AM
 #8587

Yup, even with my skills, it’s obvious that the total number of bit combinations is the same as the keys in the puzzle. So I’ll probably use this approach when choosing the sub-ranges I’m scanning: start from the previous range, apply the mutagen to that string.

If the key is found before 50% of the 50% expected in random mode, then we can start talking about efficiency.

Maybe they have something up their sleeve that they haven't shown publicly yet—some kind of filtering XOR masks or something more complex that might work. Anyway, maybe it's just a more elegant way to achieve the same thing, though not necessarily faster than other solutions.


I'm waiting when someone finally breaks the last puzzle and this madness will end  Grin
Bram24732
Member
**
Offline Offline

Activity: 322
Merit: 28


View Profile
April 05, 2025, 11:29:26 AM
Last edit: April 06, 2025, 11:32:29 AM by hilariousandco
 #8588

1. I still cannot understand how and why this work...can you elaborate on this please?
2. what do you mean by "At least I know that if you have the correct base key for the right bit flip?
thanks

Python code:
Code:
xor_masks = {
    67: 0b1100111100000011110111001010001111100110101111010011111001010001,
    66: 0b10111110011010001001010001011000011010100101000011100101000010001,
    65: 0b101011111000111010011101100101011111010010011011001011110011000,
    64: 0b100011111010111000001101100001001111011011101110110100101011,
    63: 0b1100110001101000010000001001010011001100001001011111110111,
    62: 0b100111000010101010111110000101001001111011100101010000010001,
    61: 0b110000110110100101011100100010111101000010011011011011111001,
    60: 0b111111100001011110011111011010110010011000010001000001,
    59: 0b10110110100100110100010001111000001101010100101110110000,
    58: 0b100111001100010100100011110101101111001110110010111011110,
    57: 0b10100110110100011011011111000011010100010100111100011,
    56: 0b1100010111001110100100111000101001110110000000000100000,
    55: 0b10101010000011110000001100100100110000001111011101011,
    54: 0b11100100100000100100100101010010100101110000010111100,
    53: 0b111111110000111011100011011100000011100110110010011,
    52: 0b1000001010001111010011011001101000110000111000011,
    51: 0b101011111000111101011110010111111111011000101011,
    50: 0b1110101000010101111000011110100010110110010101011,
    49: 0b100010111110100010010100111111101010000010110010,
    48: 0b10100100001100100101000001100011100010001100100,
    47: 0b100110010100111101111010010101100001101000101,
    46: 0b100010011111001111100011101110010101010111011,
    45: 0b11011101000000110101111010111100001111111010,
    44: 0b11111110101001100101001011100101001110000,
    43: 0b10100001011000100110110000011101001101110,
    42: 0b10101110111011110001110100111001001110000,
    41: 0b1010110001111001011001010011001110100100,
    40: 0b1011001010001101101101100110000101001,
    39: 0b11010010100000011111001111110000010110,
    38: 0b1110111000111110100000101001100101111,
    37: 0b100010101000100010101001010101101100,
    36: 0b11000100001011111011111010110000011,
    35: 0b1101010001001011011110111010001111,
    34: 0b10110101100110100110111011100010,
    33: 0b1010110100100110101011100100111,
    32: 0b1000111100111010101100111010001,
    31: 0b10101100000001100010111000,
    30: 0b10011010110011001010011011,
    29: 0b1000000111011010101011100001,
    28: 0b10011011101001001100010111,
    27: 0b1010100111100011110001010,
    26: 0b101111111100110110010001,
    25: 0b1011010000100011010,
    24: 0b1000111101010111111011,
    23: 0b1010101001000110101101,
    22: 0b100100001101111110000,
    21: 0b1000101101011001011,
    20: 0b101101001110101010,
    19: 0b101000101101100000,
    18: 0b1111011111110010,
    17: 0b1000100110110000,
    16: 0b11011011001001,
    15: 0b1011100001100,
    14: 0b1011011001111,
    13: 0b101110011111,
    12: 0b10110000100,
    11: 0b1101111100,
    10: 0b111111101,
    9: 0b101100,
    8: 0b11111,
    7: 0b110011,
    6: 0b1110,
    5: 0b1010,
    4: 0b111,
    3: 0b0,
    2: 0b0,
    1: 0b0
}

def generate_private_keys():
    print("Puzzle | Private Key")
    print("-------------------")
    for puzzle in range(1, 68):
        if puzzle in xor_masks:
            puzzle_end = 2**puzzle - 1
            private_key = puzzle_end ^ xor_masks[puzzle]
            print(f"{puzzle:6} | {private_key}")
        else:
            print(f"{puzzle:6} | (Missing XOR mask)")

generate_private_keys()


Is it clearer now? If not, then nothing.  Grin

Hi, still no understand why this works...and why it is more efficient than bruteforcing.
The masks I suppose are the result of Mutagen?
Can you take please two minutes to explain in full?

also, "private_key = puzzle_end ^ xor_masks[puzzle]" is useless given that you xor the end of the range which is all 1s with the "mask", so in reality your "mask" is the opposite bits of the private key ALWAYS...meaning it gives you nothing!

Thanks

It’s not more efficient than brute forcing. It actually requires the exact same number of computations than brute force to scan the range.

Yup, even with my skills, it’s obvious that the total number of bit combinations is the same as the keys in the puzzle. So I’ll probably use this approach when choosing the sub-ranges I’m scanning: start from the previous range, apply the mutagen to that string.

If the key is found before 50% of the 50% expected in random mode, then we can start talking about efficiency.

Nope, it will only mean they were lucky on this particular instance and will have no impact on any future puzzle whatsoever.

Yup, even with my skills, it’s obvious that the total number of bit combinations is the same as the keys in the puzzle. So I’ll probably use this approach when choosing the sub-ranges I’m scanning: start from the previous range, apply the mutagen to that string.

If the key is found before 50% of the 50% expected in random mode, then we can start talking about efficiency.

Maybe they have something up their sleeve that they haven't shown publicly yet—some kind of filtering XOR masks or something more complex that might work. Anyway, maybe it's just a more elegant way to achieve the same thing, though not necessarily faster than other solutions.

It is not faster, it’s actually way slower. KtimesG already explained why.

I solved 67 and 68 using custom software distributing the load across ~25k GPUs. 4090 stocks speeds : ~8.1Bkeys/sec. Don’t challenge me technically if you know shit about fuck, I’ll ignore you. Same goes if all you can do is LLM reply.
randrange
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
April 05, 2025, 01:29:00 PM
 #8589

Randomly changing 7 bits in 19 bits for a 20-bit private key is more efficient than randomly generating 19 bits. However, it is less certain because it only works if one of the mutations is the target key.
Bram24732
Member
**
Offline Offline

Activity: 322
Merit: 28


View Profile
April 05, 2025, 02:28:14 PM
 #8590

Randomly changing 7 bits in 19 bits for a 20-bit private key is more efficient than randomly generating 19 bits. However, it is less certain because it only works if one of the mutations is the target key.

“Doing less work is faster” - no joke.
You do a fraction of the work and get a fraction of the odds. Same as when you brute a range.

I solved 67 and 68 using custom software distributing the load across ~25k GPUs. 4090 stocks speeds : ~8.1Bkeys/sec. Don’t challenge me technically if you know shit about fuck, I’ll ignore you. Same goes if all you can do is LLM reply.
AlanJohnson
Member
**
Offline Offline

Activity: 185
Merit: 11


View Profile
April 05, 2025, 02:31:40 PM
 #8591

Randomly changing 7 bits in 19 bits for a 20-bit private key is more efficient than randomly generating 19 bits. However, it is less certain because it only works if one of the mutations is the target key.

And if not ?  You 'work' is pointless ?   And you never know ?  Grin
kTimesG
Full Member
***
Offline Offline

Activity: 812
Merit: 247


View Profile
April 05, 2025, 02:42:44 PM
 #8592

Randomly changing 7 bits in 19 bits for a 20-bit private key is more efficient than randomly generating 19 bits. However, it is less certain because it only works if one of the mutations is the target key.

“Doing less work is faster” - no joke.
You do a fraction of the work and get a fraction of the odds. Same as when you brute a range.

Be careful... you're on your way to be called a Digaran. A dream crusher. Perhaps influenced by bad ChatGPT answers. No one even cares that you solved 67. It's all about mutating bits nowadays, though it's basically the same thing (if not worse) as picking random keys and hashing them, which is like... the worst plan one can ever have.

I think everyone forgot the basics, as stated by the Creator himself: that the puzzles are a crude measurement instrument for the cracking strength of the community.

Not a voodoo witch hunt, taking out water from the ocean using a teaspoon. Oh, and the ocean is the size of Jupiter, while the spoon is the size of a bacteria.

No one talks about maybe creating a good distributed computing system, which is all that the puzzles are about for some time now. Perhaps because that kind of challenge is not for them at all.

Off the grid, training pigeons to broadcast signed messages.
AlanJohnson
Member
**
Offline Offline

Activity: 185
Merit: 11


View Profile
April 05, 2025, 03:11:50 PM
 #8593

Randomly changing 7 bits in 19 bits for a 20-bit private key is more efficient than randomly generating 19 bits. However, it is less certain because it only works if one of the mutations is the target key.

“Doing less work is faster” - no joke.
You do a fraction of the work and get a fraction of the odds. Same as when you brute a range.

Be careful... you're on your way to be called a Digaran. A dream crusher. Perhaps influenced by bad ChatGPT answers. No one even cares that you solved 67. It's all about mutating bits nowadays, though it's basically the same thing (if not worse) as picking random keys and hashing them, which is like... the worst plan one can ever have.

I think everyone forgot the basics, as stated by the Creator himself: that the puzzles are a crude measurement instrument for the cracking strength of the community.

Not a voodoo witch hunt, taking out water from the ocean using a teaspoon. Oh, and the ocean is the size of Jupiter, while the spoon is the size of a bacteria.

No one talks about maybe creating a good distributed computing system, which is all that the puzzles are about for some time now. Perhaps because that kind of challenge is not for them at all.

What the hell is "voodoo witch hunt" ?!  Roll Eyes
Akito S. M. Hosana
Jr. Member
*
Offline Offline

Activity: 420
Merit: 8


View Profile
April 05, 2025, 03:37:06 PM
 #8594

as stated by the Creator himself: that the puzzles are a crude measurement instrument for the cracking strength of the community.

I don't believe anything in his story.    Tongue
FrozenThroneGuy
Member
**
Offline Offline

Activity: 72
Merit: 43


View Profile
April 05, 2025, 03:41:51 PM
Last edit: April 06, 2025, 11:31:48 AM by hilariousandco
 #8595

Hi, guys!
What speed is rtx 4060 in KeyhuntCuda (with any modification, may be)?
My speed (original version of Keyhunt cuda from GitHub) is 1.3Gkey/s but I think, that it will be faster, than my test speed.
Right now I try to do GPU Cyclone and my speed without secp256k1 computing (only compressed public key increment on 1 each iterations, hash160 and comparing to given hash160 (Incrementing pubkey on 1 each iterations not right, but only for tests) is 2.2Gkeys/s and I apologise that this is slow.

Wait a minute. If he just said that the 3060 achieves around 2300 Mkeys/s, how much does the 4090 achieve? Does it reach 8000 Mkeys/s on the RTX 4090? 8 GK/s ?  In Cyclone GPU ?

Why won't anyone share the fastest GPU code here? Are you hiding the best code for yourselves?  It's all just empty talk and blah blah blah.. Tongue

Because no one is obliged to put their work in the public domain for everyone to see. They spend their time and energy on it.
Because I am doing it right now:) The main target - to be twice faster than KeyhuntCUDA, but it is possible only with PTX ASM. And also if somebody knows an algo of Modular inverse faster that DRS62 - let me know. this is the main goal for me. Or stupidly do all of the code with PTX, that impossible for me
wizard872
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
April 05, 2025, 06:22:28 PM
 #8596

I'm looking for 12 billion keys per second with 2 RTX4090s,
but I don't know when I'll find them.
It's like playing a 0.001% gacha game with electric power
Bram24732
Member
**
Offline Offline

Activity: 322
Merit: 28


View Profile
April 05, 2025, 06:53:12 PM
 #8597


I think everyone forgot the basics, as stated by the Creator himself: that the puzzles are a crude measurement instrument for the cracking strength of the community.


Well the measurement does not look good 🤣

I solved 67 and 68 using custom software distributing the load across ~25k GPUs. 4090 stocks speeds : ~8.1Bkeys/sec. Don’t challenge me technically if you know shit about fuck, I’ll ignore you. Same goes if all you can do is LLM reply.
kTimesG
Full Member
***
Offline Offline

Activity: 812
Merit: 247


View Profile
April 05, 2025, 07:16:29 PM
 #8598

Wait a minute. If he just said that the 3060 achieves around 2300 Mkeys/s, how much does the 4090 achieve? Does it reach 8000 Mkeys/s on the RTX 4090? 8 GK/s ?  In Cyclone GPU ?

Why won't anyone share the fastest GPU code here? Are you hiding the best code for yourselves?  It's all just empty talk and blah blah blah.. Tongue

Because no one is obliged to put their work in the public domain for everyone to see. They spend their time and energy on it.
Because I am doing it right now:) The main target - to be twice faster than KeyhuntCUDA, but it is possible only with PTX ASM. And also if somebody knows an algo of Modular inverse faster that DRS62 - let me know. this is the main goal for me. Or stupidly do all of the code with PTX, that impossible for me

If you want it to be faster you have to change the high level parameters of perception and adjust for the specific device characteristics. VanitySearch is more like a port from CPU to CUDA rather than a parallel-thought problem. So all clones follow the same philosophy more or less.

Micro-optimizations with PTX may end up producing the same final SASS as plain C. You might lose a year to optimize some inverse only to find it works slower than initially on some random new GPU, and faster on another. I have 3 versions (SafeGCD, BinGCD and the one by RC), each of them runs better or worse depending on whether I change a single line of code in a totally different part of the kernel source. So it's more a game of luck to have a perfect faster kernel, depending on whether the compiler decides or not to maybe not spill an extra register just because you swapped two lines that are logically non-dependent Smiley

Off the grid, training pigeons to broadcast signed messages.
fixedpaul
Member
**
Offline Offline

Activity: 86
Merit: 27


View Profile WWW
April 05, 2025, 08:27:48 PM
 #8599

Wait a minute. If he just said that the 3060 achieves around 2300 Mkeys/s, how much does the 4090 achieve? Does it reach 8000 Mkeys/s on the RTX 4090? 8 GK/s ?  In Cyclone GPU ?

Why won't anyone share the fastest GPU code here? Are you hiding the best code for yourselves?  It's all just empty talk and blah blah blah.. Tongue



Because no one is obliged to put their work in the public domain for everyone to see. They spend their time and energy on it.
Because I am doing it right now:) The main target - to be twice faster than KeyhuntCUDA, but it is possible only with PTX ASM. And also if somebody knows an algo of Modular inverse faster that DRS62 - let me know. this is the main goal for me. Or stupidly do all of the code with PTX, that impossible for me

When computing modular inverses in batch, the individual function to calculate the inverse has very little impact on the overall speed. In my version, a "stock" 4090 achieves around 7Gkey/s with some optimizations.

Still, it's crazy to see how in a group like this, 3/4 of the posts go against all common sense and basic rules of statistics. I'm referring to the absurd theories about prefixes and bit permutations.
FrozenThroneGuy
Member
**
Offline Offline

Activity: 72
Merit: 43


View Profile
April 06, 2025, 04:12:04 AM
 #8600

Wait a minute. If he just said that the 3060 achieves around 2300 Mkeys/s, how much does the 4090 achieve? Does it reach 8000 Mkeys/s on the RTX 4090? 8 GK/s ?  In Cyclone GPU ?

Why won't anyone share the fastest GPU code here? Are you hiding the best code for yourselves?  It's all just empty talk and blah blah blah.. Tongue



Because no one is obliged to put their work in the public domain for everyone to see. They spend their time and energy on it.
Because I am doing it right now:) The main target - to be twice faster than KeyhuntCUDA, but it is possible only with PTX ASM. And also if somebody knows an algo of Modular inverse faster that DRS62 - let me know. this is the main goal for me. Or stupidly do all of the code with PTX, that impossible for me

When computing modular inverses in batch, the individual function to calculate the inverse has very little impact on the overall speed. In my version, a "stock" 4090 achieves around 7Gkey/s with some optimizations.

Still, it's crazy to see how in a group like this, 3/4 of the posts go against all common sense and basic rules of statistics. I'm referring to the absurd theories about prefixes and bit permutations.
I agree with you, sequential brute force is the best way for solving puzzles without pubkey. And one question, could you take me a link to your version of Keyhunt cuda?

KtimesG, I need a few time to understand your opinion:) I checked occupancy of my rtx4060 via nSight Computing, and I have seen “register pressure” on SM (33.3% of occupancy) and spill to DRAM. I will do some work for recalculate algos for decreasing pressure.
Pages: « 1 ... 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 [430] 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 ... 651 »
  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!