I am trying to generate my own address using my GPU with oclvanitygen, but it seems like that it only displays the:

  • CPU hash
  • GPU hash, and
  • Found delta

but not a private key?

Any idea why? Vanitygen using CPU is displaying private key but not oclvanitygen. I am using Windows 7 Ultimate 64 bit and Sapphire 7970

  • Can you add a copypaste of your screen?
    – Colin Dean
    Commented Jul 23, 2013 at 13:57
  • Use the AMD catalist drivers of 12.4. If you have newer ones, uninstalling the newer ones and re-installing 12.4 won't do the trick as the needed files of OpenCL won't be deleted and then won't be overwritten (\Windows\system32\amdocl*.*, opencl.dll and some others). Delete them. Use Google to find out more about this. You can force the AMD SKD to be "low-version" and the rest of the catalyst Driver to be 13.10 if you do this carefully. Secondly, depending on your AMD HD Radeon, you might need to recompile turning off the BFINT quirk in the source code (e.g. HD7950) or get the newest source fr
    – user6955
    Commented Oct 3, 2013 at 21:29
  • Is the error maybe because the CPU processing power is not capable of handling the speeds of the GPU. In other words, maybe a new CPU is necessary??
    – user117872
    Commented Dec 6, 2013 at 7:39

3 Answers 3


I saw that newer drivers are broken, but some report good behaviour with 11.11.



This may or may not have anything to do with your problem but it's worth looking into.

Is your GPU a CUDA core based Nvidia card or an ATI GP-GPU based card, not a standard GPU from ATI (but fully programmable).

You should download the OpenCL test suite to test your video card to see if it supports OpenCL 1 and 2, if it doesn't that would explain why you can't generate keys on it.

Another thing, if you are using Linux or BSD, the open source drivers may not have the correct OpenCL commands and functions that the application you're using is looking for. Also, you need to download extra libraries and support files for accurate clocking, etc. It's a big 'ole mess.

What is better to do is if you're using Linux, is to get on an Long Term Support release, such as Ubuntu 12.04 LTS (latest release of it) and if using an ATI card or embedded chip set that does support OpenCL 1 & 2 in hardware to download the latest driver for said chip set.

Note: Pay close attention to the AMD website and don't try to install a driver that isn't not supported otherwise you're going to need to restart in single user mode to fix the damage manually, which is more than likely you're going to need to reinstall X-org from the command line. If you're not used to this by now, it's a pain in the rear end. (And this is coming from a Linux programmer).

Maybe, this will have something to do with your problem or maybe not, at least it gives you a little hint to look else where other than just the applications you're currently trying to run.

  • Updated my question.
    – mrsomeone
    Commented Jul 23, 2013 at 12:13

Here's the real answer:

It printed this:

Difficulty: 20349
Match idx: 0
CPU hash: 3d0f90a4eaabc213418484821hd21a5b4d99dc8d
GPU hash: 3d0f90a4eaf37de5294b656204921a5b4d99dc8d
Found delta: 30193 Start delta: 1
[33.21 Mkey/s][total 4096][Prob 45.7%][87.5% in 13.8s]

oclVanitygen generates addresses by using OpenCL. OpenCL can run on GPUs, in contrast to C. After OpenCL thinks an address it created has the expected prefix, it passes the private key (actually the delta value of it), the calculated P2PKH hash and the idx value to the C part of the software. When the GPU calculated hash doesn't match the CPU calculated hash, it dumps the info for debugging.

Short Answer: It would, of course, have printed the private key if it had found an address with the expected prefix.

Not the answer you're looking for? Browse other questions tagged or ask your own question.