brichard19 / BitCrack

A tool for cracking Bitcoin private keys
MIT License
711 stars 467 forks source link

CuBitcrack not Working on GeForce RTX 3090 Graphics Card #298

Open websonder opened 3 years ago

websonder commented 3 years ago

Please some one Update .exe File for Cuda 11.2 so we can run this Software on GeForce RTX 3090 Graphics Card

trextrader commented 3 years ago

@websonder - I succeeded in building this for my 2080ti on Kali Linux 2021.1...using CUDA 11.2 update 1 [current ver] I did have it working on Windows 10 last week, but my network has been under heavy attack by a group of assholes who stole my companies patents (my life's research) and we have been at war since 2013, so I went back to Kali Linux and this is what I did:

From root of Bitcrack folder open the Makefile (e.g. nano Makefile if using linux):

Change or comment out:

NVCCFLAGS=-std=c++11 -gencode=arch=compute_${COMPUTECAP},code=\"sm${COMPUTE_CAP}\" -Xptxas="-v" -Xcompiler "${CXXFLAGS}"

and copy/paste from below to replace above...save, make [options]...SUCCESSFUL BUILD!!! (keep reading)

NVCCFLAGS=-std=c++11 -gencode=arch=compute_75,code=\"sm_75\" -Xptxas="-v" -Xcompiler "${CXXFLAGS}"

Why 75?

For my GPU it has a compute capability of 7.5, so that is input as the args minus the decimal point. See followiing hyperlink to look up the value you would enter. @brichard19 - If you could make these two as args for inputs by user would be beneficial.

Side note: Support for compute_30 has been removed for versions after CUDA 10.2. Because it uses nvcc we have to use this flag to target the correct architecture in the build system for Bitcrack.

https://developer.nvidia.com/cuda-gpus#compute

The issue now is it compiles with no errors, but now it throws an error during execution as follows:

[2021-02-25.00:34:10] [Info] Compression: both [2021-02-25.00:34:10] [Info] Starting at: 0000000000000000000000000000000000000000000000000000000000000001 [2021-02-25.00:34:10] [Info] Ending at: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364140 [2021-02-25.00:34:10] [Info] Counting by: 0000000000000000000000000000000000000000000000000000000000000001 [2021-02-25.00:34:10] [Info] Initializing GeForce RTX 2080 Ti [2021-02-25.00:34:11] [Info] Generating 262,144 starting points (10.0MB) [2021-02-25.00:34:11] [Info] 10.0% [2021-02-25.00:34:11] [Info] 20.0% [2021-02-25.00:34:11] [Info] 30.0% [2021-02-25.00:34:11] [Info] 40.0% [2021-02-25.00:34:11] [Info] 50.0% [2021-02-25.00:34:11] [Info] 60.0% [2021-02-25.00:34:11] [Info] 70.0% [2021-02-25.00:34:11] [Info] 80.0% [2021-02-25.00:34:11] [Info] 90.0% [2021-02-25.00:34:11] [Info] 100.0% [2021-02-25.00:34:11] [Info] Done [2021-02-25.00:34:11] [Info] Error: misaligned address

"Misaligned address exceptions occur when the address does not meet the natural alignment of the data access size. error if (address & (access_size_in_bytes - 1))" source: https://stackoverflow.com/questions/11949476/misaligned-shared-or-local-address/11963824#11963824

and this might help to point @brichard19 in the right direction for how to update/debug his code: https://forums.developer.nvidia.com/t/how-to-solve-error-of-misaligned-address/66078

UGH!!! So close!!!!! ERRRRRRR!!!!

And I am searching for how to resolve this but thus far after 5 days have not sorted this out. From what I found online, as after this step it either crashes because of ramping it up too much on the args -b [value] -t [value] -p [value], or it starts to crunch insanely fast when compared to ./brainflayer on a CPU. Ideally, to run it using BOTH multi-threaded CPU optimization and GPU with 48 cores on my AMD CPU, no doubt this would be an accomplishment for the world to enjoy - hint hint! lol

@brichard19 - Any ideas here for how to resolve this? Here are my initial thoughts to hopefully point you in the right direction for debugging your source code:

"From the CUDA Programming Guide, section 5.3.2:

Global memory instructions support reading or writing words of size equal to 1, 2, 4, 8, or 16 bytes. Any access (via a variable or a pointer) to data residing in global memory compiles to a single global memory instruction if and only if the size of the data type is 1, 2, 4, 8, or 16 bytes and the data is naturally aligned (i.e., its address is a multiple of that size)."

Translation: Effectively, what that means is: You shouldn't dereference a pointer pointing to a 32-bit value from an address not aligned at a 32-bit boundary. So, somewhere in your source code which you know better than anyone it should be a rather quick fix...If I had the time to learn your code inside and out I would attempt to fix it,, however, I am neck deep in gearing up for WAR against the asshole lying deceiving POS thieves.

...Given the nice pop in BTC valuation recently, it would be advantageous for my family, including myself and my two children's health of literally having a roof over our heads come end of March 2021 - not kidding! Taking BTC donations like a homeless bum standing on the corner of the road "SPARE CRYPTO?"

bc1qedwugf0x2qgtqcu35nck658emdd9j5t98kepzz - ANYONE...Anything is greatly appreciated. In that bad of a spot due to a group of FN lawyer scum of the Earth attacking me in every direction using their political Illuminati connections to royally fk me over and kill me so they can get away with IP theft. (MY SOFTWARE TECHNOLOGY I PATENTED WORLDWIDE WITH AN INDEPENDENT VALUATION BACK IN 2012 OF 3.3B...Not kidding - been battling since 2013 and I'm lucky to still be alive)...also they sabotaged my relationship with my ex-fiance and hence our breakup and A --> B --> C where my private keys written down have vanished - BTC still in the wallets thankfully, but cannot access. SUCKS BALLS and not in the good way...

If I was able to sell some of my BTC...PROBLEM SOLVED! Thus, I am trying to crack my wallets that my ex-fiance accidentally took my private keys written on a sheet of paper and actually threw them away not knowing what they were, when we broke up over a year ago...apparently, not the brightest light on the block! lol

Cheers,

/Zap

MisterTeo commented 3 years ago

295