Closed broka77 closed 5 years ago
Nice spoken Jean-Luc!
I still can not create a binary for ubuntu, gives an error version of gcc> 7 can not fix .. can you fix it in the code for the latest build?
Try with gcc 4.8 (as on my config):
sudo apt install g++-4.8
Then create link for nvcc:
sudo ln -s /usr/bin/gcc-4.8 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-4.8 /usr/local/cuda/bin/g++
Check links for nvcc:
pons@linpons:~/VanitySearch$ ll /usr/local/cuda/bin/gcc
lrwxrwxrwx 1 root root 16 mars 1 10:53 /usr/local/cuda/bin/gcc -> /usr/bin/gcc-4.8*
pons@linpons:~/VanitySearch$ ll /usr/local/cuda/bin/g++
lrwxrwxrwx 1 root root 16 mars 1 10:54 /usr/local/cuda/bin/g++ -> /usr/bin/g++-4.8*
Check that link to default gcc are correct (must be gcc 7)
pons@linpons:~/VanitySearch$ ll /usr/local/bin/g++
lrwxrwxrwx 1 root root 14 mars 1 10:33 /usr/local/bin/g++ -> /usr/bin/g++-7*
pons@linpons:~/VanitySearch$ ll /usr/local/bin/gcc
lrwxrwxrwx 1 root root 14 mars 1 10:32 /usr/local/bin/gcc -> /usr/bin/gcc-7*
Then try to make
No, error ((make gpu=1 all /usr/local/cuda-10.0/bin/nvcc -maxrregcount=0 --ptxas-options=-v --compile --compiler-options -fPIC -ccbin g++ -m64 -O2 -I/usr/local/cuda-10.0/include -gencode=arch=compute_52,code=sm_52 -o obj/GPU/GPUEngine.o -c GPU/GPUEngine.cu g++: error: unrecognized command line option ‘-std=c++14’
gcc 8.2.0 change in the source code itself please for the latest versions for Linux / Ubuntu. Everyone will thank you)
Ok I will try with gcc 8. I will see if I can install CUDASDK10 without breaking my config. My linux hardware works only with cuda sdk8.
did you manage to fix it? I look forward to fixing on the creation of a binary file in ubunt on the last gcc and cuda ... but for now it gives an error when creating a build
please add to your code (ready option code -r randome mode) https://github.com/pikachunakapika/VanitySearch
still error ( ubuntu 16.4 cuda sdk 8.0, gtx 460 ) gcc downgrade from 5.4 to 4.8
chawla@i3-6100:~$ sudo ln -s /usr/bin/gcc-4.8 /usr/local/cuda/bin/gcc [sudo] password for chawla: chawla@i3-6100:~$ sudo ln -s /usr/bin/g++-4.8 /usr/local/cuda/bin/g++ chawla@i3-6100:~$ ll /usr/local/cuda/bin/gcc lrwxrwxrwx 1 root root 16 Mar 17 15:59 /usr/local/cuda/bin/gcc -> /usr/bin/gcc-4.8 chawla@i3-6100:~$ ll /usr/local/cuda/bin/g++ lrwxrwxrwx 1 root root 16 Mar 17 16:00 /usr/local/cuda/bin/g++ -> /usr/bin/g++-4.8
make gpu=1 all
cd obj && mkdir -p GPU
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/Base58.o -c Base58.cpp
Base58.cpp: In function ‘bool DecodeBase58(const char, std::vector
Look like the gcc used for compiling in not gcc 7. gcc 4.8 is needed for he CUDA code. gcc 7 (or higher) is needed for the CPU code.
pons@linpons:~/VanitySearch$ g++ -v
...
gcc version 7.3.0 (Ubuntu 7.3.0-27ubuntu1~18.04)
pons@linpons:~/VanitySearch$ make gpu=1 all
the error remained, it is impossible to compile on ubuntu as I just did not try ...
I made Linux binary available here for CUDA 10 SDK. http://zelda38.free.fr/VanitySearch/ These files need to be tested, this is an experimental binary distribution.
Yes work! very very thanks! Please add random mode ready for use code there https://github.com/pikachunakapika/VanitySearch
from there I cannot compile either (
compute cap 61 work build
Ok Please execute VanitySearch -check to see it really works. Thanks.
Yes Work from my hardware VanitySearch61 only
Ok Thanks I will have a look at the pikachunakapika fork.
thank you, we look forward
it would be nice to add - both mode (compressed and uncompressed address) together
Ok I add the -b option in the next release. If possible, it seems that the kernel code in near a limit and adding more code can make it unstable.
I had a quick look at the pikachunakapika fork, there is a bug, the starting key must start at the middle of the group otherwise, if a collision if found, the program will report a wrong private key (The group increment will be wrong). I can add this in the next release. Some question: How do you specifie the keysapce ABC:DEF ? Something like 0x1B340000000000000000:0x1B350000000000000000 ? Where ABC and DEF are 2 (256bits max) hexadecimal numbers ?
JeanLucPons, you did not think to create a BitCrack fork, only better, faster, and with your own additives? What would be the random mode, bloom filter, both option (compressed and uncompressed address bitcoin) to search for collisions of bitcoin addresses? I think many need it / would like to try
anyway, thanks you for your work =)
I added the both mode. I may add the keyspace space option as the pikachunakapika fork VanitySearch use a 2 level lookup table, I'm not sure that in that case a bloom filter will be better. That's true that VanitySearch is optimized for less than 1 million targets, for more, some improvement can be done. And for searching full collision, Pollard rho with few improvements will be much better. VanitySearch is a first prefix finder...
Hi my VanitySearch fork was not meant to public yet. Sorry for the bug :). Great work Jean-Luc! Exactly, keyspace in hex 256bit:256bit.
Hi my VanitySearch fork was not meant to public yet. Sorry for the bug :). Great work Jean-Luc! Exactly, keyspace in hex 256bit:256bit.
Thanks ;) Ok, i see that you also use your own random generator. VanitySearch has also an embedded RNG. It is a Mersenne twister with a period of 219937 -1. (MT 19937)
You can use it it like this.
Int k;
k.Rand(256); // Fill k with a 256 bit random number (uniformly distributed).
k.Rand(128); // Fill k with a 128 bit random number (uniformly distributed).
Thanks. Switched to embedded version! I used the mt19937 from c++ STL before.
Hi,
New release is out. Linux binaries available here: http://zelda38.free.fr/VanitySearch/ Thanks to test it and reporting issues but also performance you get on your hardware.
For you, improvement for large prefix list: An example with a 10 million address list. Use -m option if you get the "lost prefix" warning. If you have powerfull GPUs, use -t 0 to avoid CPU bottleneck.
C:\C++\VanitySearch\x64\Release>VanitySearch.exe -t 0 -gpu -m 131072 -i addr_10M.txt
[Loading input file 100.0%]
[Building lookup16 100.0%]
[Building lookup32 100.0%]
Search: 10000000 addresses (Lookup size 65536,[103,203]) [Compressed]
Start Wed Mar 20 09:13:29 2019
Base Key:328DBECB874367E08F6DB73CBE5A60C5688817CE93B5CF2A3582F02FE72B86E9
Number of CPU thread: 0
GPU: GPU #0 GeForce GTX 645 (3x192 cores) Grid(24x128)
17.694 MK/s (GPU 17.694 MK/s) (2^28.17) [P 0.00%][50.00% in 1.81548e+33y][0]
Thank you very much for the binaries builds for Linux! Another would add random mode was super
Thank you very much for the binaries builds for Linux! Another would add random mode was super
Would be great if pikachunakapika do a pull request ;)
Will pull request soon when all tested :)
add an other option exclude -e excludefile.txt
where exclude file contain 000000 111111 222222
etc
geenrate base key and random keys or increment all skip exclude file then rest keys goes for process
make gpu=1 all
mkdir -p obj
cd obj && mkdir -p GPU
cd obj && mkdir -p hash
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/Base58.o -c Base58.cpp
Base58.cpp:37:48: error: ‘uint8_t’ was not declared in this scope
bool DecodeBase58(const char psz, std::vector
I patched Base58 Could you retry ?
I still can't create the binary build, it gives an error:it@it-System-Product-Name:~/VanitySearch$ make gpu=1 all mkdir -p obj cd obj && mkdir -p GPU cd obj && mkdir -p hash g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/Base58.o -c Base58.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/IntGroup.o -c IntGroup.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/main.o -c main.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/Random.o -c Random.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/Timer.o -c Timer.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/Int.o -c Int.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/IntMod.o -c IntMod.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/Point.o -c Point.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/SECP256K1.o -c SECP256K1.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/Vanity.o -c Vanity.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/GPU/GPUGenerate.o -c GPU/GPUGenerate.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/hash/ripemd160.o -c hash/ripemd160.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/hash/sha256.o -c hash/sha256.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/hash/sha512.o -c hash/sha512.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/hash/ripemd160_sse.o -c hash/ripemd160_sse.cpp g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-10.0/include -o obj/hash/sha256_sse.o -c hash/sha256_sse.cpp /usr/local/cuda-10.0/bin/nvcc -maxrregcount=0 --ptxas-options=-v --compile --compiler-options -fPIC -ccbin g++ -m64 -O2 -I/usr/local/cuda-10.0/include -gencode=arch=compute_61,code=sm_61 -o obj/GPU/GPUEngine.o -c GPU/GPUEngine.cu g++: error: unrecognized command line option ‘-std=c++14’ make: *** [Makefile:62: obj/GPU/GPUEngine.o] Error 1
gcc 8.2.0
Yes CUDA 10 support only up to gcc 7. So intall gcc 7 for CUDA as you did with gcc 4.8 And create links in /usr/local/cuda/bin to gcc 7.
Can you write in detail how to do this?
sudo apt-get install gcc-7
This should install gcc-7.3
Then remove link to the 4.8:
sudo rm /usr/local/cuda/bin/gcc
sudo rm /usr/local/cuda/bin/g++
Then link to gcc 7.3
sudo ln -s /usr/bin/gcc-7.3 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-7.3 /usr/local/cuda/bin/g++
did everything as a manual, the same error pops up
Ubuntu 18.04
ubuntu 18.0.4 cuda 8.0
new error i think, you coded for only cuda 10.0
chawla@i3-6100:~/van4/VanitySearch$ sudo ln -s /usr/bin/gcc-7.3 /usr/local/cuda/bin/gcc
chawla@i3-6100:~/van4/VanitySearch$ sudo ln -s /usr/bin/g++-7.3 /usr/local/cuda/bin/g++
chawla@i3-6100:~/van4/VanitySearch$ make gpu=1 all
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/Base58.o -c Base58.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/IntGroup.o -c IntGroup.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/main.o -c main.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/Random.o -c Random.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/Timer.o -c Timer.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/Int.o -c Int.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/IntMod.o -c IntMod.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/Point.o -c Point.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/SECP256K1.o -c SECP256K1.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/Vanity.o -c Vanity.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/GPU/GPUGenerate.o -c GPU/GPUGenerate.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/hash/ripemd160.o -c hash/ripemd160.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/hash/sha256.o -c hash/sha256.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/hash/sha512.o -c hash/sha512.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/hash/ripemd160_sse.o -c hash/ripemd160_sse.cpp
g++ -DWITHGPU -m64 -Wno-write-strings -O2 -I. -I/usr/local/cuda-8.0/include -o obj/hash/sha256_sse.o -c hash/sha256_sse.cpp
/usr/local/cuda-8.0/bin/nvcc -maxrregcount=0 --ptxas-options=-v --compile --compiler-options -fPIC -ccbin g++ -m64 -O2 -I/usr/local/cuda-8.0/include -gencode=arch=compute_20,code=sm_21 -o obj/GPU/GPUEngine.o -c GPU/GPUEngine.cu
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
**In file included from /usr/local/cuda-8.0/include/cuda_runtime.h:78,
from
^~~~~ Makefile:62: recipe for target 'obj/GPU/GPUEngine.o' failed make: *** [obj/GPU/GPUEngine.o] Error 1
CUDA8 does not support GCC later than 5, you have to install gcc-4.8 (for instance) for nvcc, and compile VanitySearch with a gcc later than 7.
CUDA10 does not support GCC later than 7, compilation can work with gcc 7 for both VanitySearch and the CUDA code, if you have gcc 8, you have to install gcc 7 for the CUDA code.
CUDA 10 use some feature of stc++ 14, so it is no longer possible to compile the CUDA code with gcc-4.8 if using CUDA 10.
Yes I know this is complex, and on Windows it is impossible to play like this with compiler....
Ubuntu 18.04
I have also Ubuntu 18.04 but with gcc 7.3.0 and all work fine without DIY. I also step up cuda 10 on a Debian9 with gcc 6 and all worked fine (except a bug related to code optimisation which is fixed).
I do not know what else to do, what would VanitySearch earn on Ubuntu 18.04 cuda 10 I tried different methods - nothing helps =((
In my manual i forget:
sudo apt-get install g++-7
I updated the makefile. Now you have to set up the gcc you want to use in the makefile, no need to link. Set up also the SDK
CUDA = /home/pons/cuda-10.0
CXXCUDA = /usr/bin/g++-7
Then you run the make like this (ccap is the compute capability):
make gpu=1 ccap=61 all
I try this on my Ubuntu with g++ 8.2.0 (as default) and g++ 7.3.0. Works fine.
And for old hardware: (Still need a g++>=7 (as default) for VanitySearch itself)
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
CUDA = /usr/local/cuda-8.0
CXXCUDA = /usr/bin/g++-4.8
make gpu=1 ccap=20 all
Thanks! Work done! ))) finally! I am happy ) add more randomness option It would be great
Great. Could you try to execute VanitySearch -check and post the result. I will help me. Thanks.
For radomness I'm waiting for the pull request of pikachunakapika ;)
for unknown reasons, he removed the fork and closed
hello
I can not compile on ubuntu source code gives an error gcc can lay out a binary for ubuntu? that binar that the branch below does not work for me ... and another question in what format should the prefixes in the file be? with "1" or no unit?