Post
Topic
Board Bitcoin Discussion
Re: Bitcoin puzzle transaction ~32 BTC prize to who solves it
by
alek76
on 10/01/2024, 09:15:30 UTC

In the meantime I rewrite the GPUHash.h file
GPU constant memory is not used in hash functions. I checked the program's operation on PK 40 bit. It works, but the speed is the same.
https://github.com/alek76-2/VanitySearch/blob/main/mod/other_files/GPUHash_nc.h

Can someone test it?

nice work alek !

could you please add a stride function on it ?


There, for starting keys in the getGPUStartingKeys function, the step is set here.
Code:
else {
      //
 keys[i].Set(&startKey);
      Int offT((uint64_t)i);
      //offT.ShiftL(32);  
      Int offG((uint64_t)thId);
      //offG.ShiftL(40);
 // new offset
 int nbBit = startKey.GetBitLength();
 offT.ShiftL((uint32_t)(nbBit / 2));
 offG.ShiftL((uint32_t)(nbBit - 4));
 //
      keys[i].Add(&offT);
      keys[i].Add(&offG);
 if (i < 10 || i > nbThread - 10) { printf("Bit %d GPU startKey Base Key %d: %s\n", Random_bits, i, keys[i].GetBase16().c_str()); }
 //
    }

I don’t want to, I will need to recalculate the distance traveled and create an addition for a new start of the keys. A table and steps are used. +1 and -1 further to +512 and -512 Delta is needed to increase the speed when calculating the inversion modulo distance - this is when adding points.
You can generate starting keys in increments. The dot addition step cannot be changed.
For example, you won’t be able to add 16, 64 or 2048. The addition step is 1 - all because of the table.