Author

Topic: Vanitygen: Vanity bitcoin address generator/miner [v0.22] - page 183. (Read 1153383 times)

full member
Activity: 140
Merit: 430
Firstbits: 1samr7
hmmm, oclvanitygen seems to get stuck "compiling kernel...". Oh no, it doesn't, but it bails:

Quote
nick@zero ~/bitcoin/bin/vanitygen $ ./oclvanitygen -d 0 1Mo
Difficulty: 1330
Compiling kernel...
clBuildProgram: -11
Build log:Error: Code selection failed to select: 0x9afba08: i32 = bswap 0x9afb5c8

Could not load kernel

Any hints? Something wrong with my setup/gpu?

Ouch.  Let me guess, nVidia?  What card and what version of the driver?

If you can, try driver 270.41.19, which is the one nVidia recommends on their CUDA site to go with CUDA SDK 4.0.  I've encountered serious problems with older drivers, but haven't tried 275.xx.

I pushed a change to have oclvanitygen report more useful error information.
donator
Activity: 2772
Merit: 1019
Version 0.13 is up.  The only major change is to display hints when impossible address prefixes are entered, suggested by a user via email.  It's not worth downloading if you already have 0.12.

Under the hood, the source tree has been reorganized a bit, and a new OpenCL version, oclvanitygen, is now present.

Regarding the current state of oclvanitygen:
  • It isn't built by default, you need to run: make oclvanitygen.  Build it on Windows at your own peril.
  • It isn't optimized at all.  Specifically, it can't outperform the CPU with AMD hardware, and while it is faster with nVidia hardware, the profiler claims 25% occupancy.

hmmm, oclvanitygen seems to get stuck "compiling kernel...". Oh no, it doesn't, but it bails:

Quote
nick@zero ~/bitcoin/bin/vanitygen $ ./oclvanitygen -d 0 1Mo
Difficulty: 1330
Compiling kernel...
clBuildProgram: -11
Build log:Error: Code selection failed to select: 0x9afba08: i32 = bswap 0x9afb5c8

Could not load kernel

Any hints? Something wrong with my setup/gpu?
full member
Activity: 140
Merit: 430
Firstbits: 1samr7
I changed to a compiler called clc and it compiled calc_addr.cl with no errors/warnings.

That's good, but what changed?  Did you pull the git changes from Thursday 7/21 and try again, or is this with the same calc_addrs.cl that caused the segv last time?

Quote
I then tried running oclvanitygen again and ran into this error
Code:
WARNING: Built with OpenSSL 0.9.8l 5 Nov 2009
WARNING: Use OpenSSL 1.0.0d+ for best performance
Difficulty: 15318045009
vg_ocl_context_callback error: [CL_INVALID_VALUE] : OpenCL Error : clCreateCommandQueue failed: Could not create queue (gld context creation failed): Invalid value
clCreateCommandQueue failed: -30

Well, I'm stumped.  According to Apple's developer site, GLD is the modular OpenGL driver interface.  However, Google doesn't seem to know _anything_ about a "gld context creation failed" message.

What version of OS X is this?  Can you pastebin the output of clinfo?  Are you able to run any other OpenCL software on this machine, besides just the clc compiler?  Can you post a link to this compiler?

If you really think the third parameter is causing the problem, it would be a good experiment to change it to CL_QUEUE_PROFILING_ENABLE or even CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE.
full member
Activity: 126
Merit: 100

Sorry that was difficult.  There are a few OpenCL compiler frontends, that was just the one that worked on Linux.  The first one I tried -- http://clcc.sourceforge.net/ -- wouldn't build, but should build and run on OS X.

Are you using the openclcc-embed frontend?  I don't know what that program is doing with the build options, but it must be changing them around.  In the CL/cl.h from nVidia, -43 is CL_INVALID_BUILD_OPTIONS.  Try using the plain openclcc program, or clcc.
I changed to a compiler called clc and it compiled calc_addr.cl with no errors/warnings. I then tried running oclvanitygen again and ran into this error
Code:
WARNING: Built with OpenSSL 0.9.8l 5 Nov 2009
WARNING: Use OpenSSL 1.0.0d+ for best performance
Difficulty: 15318045009
vg_ocl_context_callback error: [CL_INVALID_VALUE] : OpenCL Error : clCreateCommandQueue failed: Could not create queue (gld context creation failed): Invalid value
clCreateCommandQueue failed: -30
It seems that this row is causing the problems:
Code:
clCreateCommandQueue(vocp->voc_oclctx,
vocp->voc_ocldid,
0, &ret);
and it's 3rd argument is potentially wrong, according to
http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/clCreateCommandQueue.html

Sweet!!  I'll look forward to this.  Would you be available to try out new releases on OS X in the future?
Sure, no problem.
legendary
Activity: 1176
Merit: 1260
May Bitcoin be touched by his Noodly Appendage
Really good tool
Can't work with OpenCL here but still working on that
member
Activity: 112
Merit: 10
Firstbits: 1yetiax
Or you are a pool operator / have enough hashpower to solo mine and include them in one of your own blocks.
pc
sr. member
Activity: 253
Merit: 250
If you're just trying to destroy firstbits addresses, you don't even need to send a satoshi to each of them. An output of 0 is valid, and I've used it to claim a couple of my firstbits addresses. You just need enough of a transaction fee to get it relayed and into a block.
legendary
Activity: 1400
Merit: 1005
They don't have to be too short if it's a word or group of words that are easy to remember
Yeah but... none of those are.
hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
They don't have to be too short if it's a word or group of words that are easy to remember
legendary
Activity: 1400
Merit: 1005
It sounds more like it is just a way to spam that service up for the few that find it useful. For 7 BTC I can send a block with outputs to every 3-5 character address, so now you have to remember six.

Your calculation would actually mean 6 character address (if you include the 1 in front)

It sounds more like it is just a way to spam that service up for the few that find it useful. For 7 BTC I can send a block with outputs to every 3-5 character address, so now you have to remember six.
And you only have to pay 328,178 BTC in fees!

There was some discussion I was watching on bitcoin-dev that said that one of the pool operators is taking a very small fee and allowing 100kb + blocks into the chain for little or no fees. If you don't mind waiting you could get it in for a lot cheaper than that.

And... you wouldn't be able to get them all because someone pretty much as all 4 digit ones gone (1XXX)  Hard to tell for sure but they might actually be 5 digit (1XXXX) but I really don't care so I'm not going to take too much efforts to figure it out.

http://blockexplorer.com/tx/36c8c989fe9e70b7bb2ab18b8be225bdb0ca592525f068ffe116ce677e58b882 and the such.
I don't think whoever that was was going for firstbits addresses... most of them are 6 characters (1+5).
legendary
Activity: 1512
Merit: 1036
It sounds more like it is just a way to spam that service up for the few that find it useful. For 7 BTC I can send a block with outputs to every 3-5 character address, so now you have to remember six.

Your calculation would actually mean 6 character address (if you include the 1 in front)

Actually, since the service is case insensitive, that makes it just Base35 you'd spam. Every 1+3 char to 1+6 char could be blasted for 18.4 BTC plus a BTC in fees to get them picked up,  and you can check the blockchain for them first and save maybe 25% too.. BTW, no need to validate a private key, just add a correct checksum to your public one (plus add your advertising message or obscenity if you suck). Now the shortest firstbits you could get would be eight digits, like 1Ef3oe2K, and for that you might as well be emailing your whole payment address.
legendary
Activity: 1400
Merit: 1005
It sounds more like it is just a way to spam that service up for the few that find it useful. For 7 BTC I can send a block with outputs to every 3-5 character address, so now you have to remember six.
And you only have to pay 328,178 BTC in fees!
legendary
Activity: 1512
Merit: 1036
It sounds more like it is just a way to spam that service up for the few that find it useful. For 7 BTC I can send a block with outputs to every 3-5 character address, so now you have to remember six.
pc
sr. member
Activity: 253
Merit: 250
Right, it's the combination of firstbits.com catching on and vanity generation that leads to "claiming" vanity addresses in the blockchain. If I'm thinking of starting a new bitcoin-related service, I almost want to check not only that the domain name is available, but that the firstbits address is available. And then one wants to claim the firstbits address as soon as possible, even when one is unsure whether or not one will be using it, since the cost is so low to claim.

But I do doubt that anyone will want to buy my private keys off of me, even for some really nice firstbits addresses, unless perhaps there's some sort of legally enforceable way to ensure that I delete all copies of the key that I have.
hero member
Activity: 616
Merit: 500
Firstbits.com/1fg4i :)
By registering the address in the blockchain first they ensure they get the only clean FirstBits address for vanity addresses with that prefix
legendary
Activity: 1512
Merit: 1036
This goes way back to the beginning of the month when there was no vanitygen. http://blockexplorer.com/address/1HnNPy6wtM8pG9TpF1dapvuLTPpdHwiYek

Somebody had figured this out earlier, activated them in Firstbits with tx of 1 Satoshi each, not released the code and now keeps all the addresses to sell them later (although that remains to be seen if people would buy private keys from somebody).

That's why I can't be 1yeti and that's why we can't have nice things!

People that 'register' these relatively simple vanity bitcoin addresses by sending them some coins are completely silly. What do they think they have? Even if you have found 1ULT1MATEADDRESSzUYmbsNX3d3a, there are still 55,000,000,000,000,000,000,000,000,000,000 other addresses with that same prefix to be had. Do they think they are somehow 'protecting' them by sending money to show everyone they got it, or that it is needed because generating the exact same address is computationally feasible before the end of the universe? I'm not going to be buying them; I'm not sending my money to an address that anyone else knows the private key of.

Oh, and vanitygen seems to work!

full member
Activity: 140
Merit: 430
Firstbits: 1samr7
Ok, openclcc was supernasty to build on OSX, with no support or instructions avaliable. At last I got it to build, and ran into this failure when trying to compile calc_addrs.cl
Code:
File: calc_addrs.cl
- Checking... Error
---------------
OpenCLcc output
---------------
OpenCL Error: -43

Sorry that was difficult.  There are a few OpenCL compiler frontends, that was just the one that worked on Linux.  The first one I tried -- http://clcc.sourceforge.net/ -- wouldn't build, but should build and run on OS X.

Are you using the openclcc-embed frontend?  I don't know what that program is doing with the build options, but it must be changing them around.  In the CL/cl.h from nVidia, -43 is CL_INVALID_BUILD_OPTIONS.  Try using the plain openclcc program, or clcc.

Quote
The card I am using is an ATI radeon 6490M.

Btw, I have a Makefile.osx together with some #ifdef in oclvanitygen.c, I will push it as soon everything is working.

Sweet!!  I'll look forward to this.  Would you be available to try out new releases on OS X in the future?
full member
Activity: 126
Merit: 100
I tried to get it working on OSX, I was able to compile it after some changes but I get "segmentation fault" when compiling the kernel... It does work when I choose my SB CPU as device though

Oh my, this could be an OpenCL implementation bug.  Which type of card is this?  Doesn't Apple have their own implementation, or how does that work on OS X?

You could grab the openclcc standalone compiler from http://code.google.com/p/openclcc/ and use it to test-compile the kernel.  At the very least, this program might not segfault, which would confirm that oclvanitygen is doing something wrong.  You could also run oclvanitygen under gdb and collect a stack trace, which could be helpful either way.

There will definitely need to be a Makefile.OSX in the near future, or maybe cmake.
Ok, openclcc was supernasty to build on OSX, with no support or instructions avaliable. At last I got it to build, and ran into this failure when trying to compile calc_addrs.cl
Code:
File: calc_addrs.cl
- Checking... Error
---------------
OpenCLcc output
---------------
OpenCL Error: -43
The card I am using is an ATI radeon 6490M.

Btw, I have a Makefile.osx together with some #ifdef in oclvanitygen.c, I will push it as soon everything is working.
full member
Activity: 140
Merit: 430
Firstbits: 1samr7
I tried to get it working on OSX, I was able to compile it after some changes but I get "segmentation fault" when compiling the kernel... It does work when I choose my SB CPU as device though

Oh my, this could be an OpenCL implementation bug.  Which type of card is this?  Doesn't Apple have their own implementation, or how does that work on OS X?

You could grab the openclcc standalone compiler from http://code.google.com/p/openclcc/ and use it to test-compile the kernel.  At the very least, this program might not segfault, which would confirm that oclvanitygen is doing something wrong.  You could also run oclvanitygen under gdb and collect a stack trace, which could be helpful either way.

There will definitely need to be a Makefile.OSX in the near future, or maybe cmake.
full member
Activity: 126
Merit: 100
  • nVidia GTS 250 + Core i5 750 @2.67 GHz: 1.54 Mkey/s, 110% CPU / how to measure GPU?

The GTS 250 beats my core i5 by a factor of 3.

That's awesome!!

The GPU idle statistic is a mess right now, but to get it, use "-v".
I tried to get it working on OSX, I was able to compile it after some changes but I get "segmentation fault" when compiling the kernel... It does work when I choose my SB CPU as device though
Jump to: