python OpenCL bitcoin miner

8 messages BitcoinTalk m0mchil, Satoshi Nakamoto, BitLex, Wladimir van der Laan, Marek Palatinus October 1, 2010 — November 24, 2010
m0mchil October 1, 2010 Source · Permalink

Latest miner

poclbm_py2exe_20120920

mirror

Sources for poclbm are at http://github.com/m0mchil/poclbm

GUI

Created by Kiv, see http://bitcointalk.org/index.php?topic=3878.0

Guides

Windows - http://www.newslobster.com/random/how-to-get-started-using-your-gpu-to-mine-for-bitcoins-on-windows

Ubuntu - http://bitcointalk.org/index.php?topic=2636

Mac - https://bitcointalk.org/index.php?topic=12360

Known best settings (please PM better/best settings for your platform)

AMD 5xxx and up use ‘-v -w 128’

Frequently asked questions

Q: Does my video card / driver supports OpenCL?

AMD - 4xxx and up. Nvidia - 8xxx and up. On Windows you can use ‘GPU Caps Viewer’ or similar.

Q: I am seeing ‘pyopencl.LogicError: clGetPlatformIDs failed’, what is this? Q: It says ‘ImportError: DLL load failed: The specified module could not be found’? Q: Or ‘ImportError: DLL load failed: The specified procedure could not be found’?

You don’t have proper OpenCL support. The reasons may vary. Be sure to remove any old drivers and SDK from different vendors you may have used. Use web search to see how to make it work for your combination of GPU and OS.

Q: When I try to run it with the following parameters: ‘—host=http://mining.bitcoin.cz:8332’ miner errors out with ‘nonnumeric port’

Remove ‘http://’, it’s intended for browsers (becames ‘—host=mining.bitcoin.cz’). Use ‘—port’ to specify port (default is 8332 so you don’t need to specify it if the pool you use is at same port).

Q: Why it uses 100% CPU?

You probably selected the CPU as OpenCL device. Or you are using it on Linux with AMD Stream SDK 2.2. Use 2.1 instead.

Q: What does ‘invalid or stale’ means?

The block last submitted was either invalid or stale.

Q: How a block becomes stale?

You submited solution for a block which was just solved by someone else.

Q: Why a block is invalid?

Don’t overclock too much. And switch crossfire off. Or may be I screwed the search again? It’s good if you see more ‘accepted’s than ‘invalid’s.

When I try to run the miner a new CMD window flashes on my screen too rapidly to read anything, or even see if it says anything.

It’s console application. You use that ugly black thing called ‘Command Prompt’ to run it.

m0mchil November 16, 2010 Source · Permalink

Just updated to SVN 181 and fixed getwork patch to wait 60 seconds between rebuilding the block with new transactions. This is actually the behavior of the original client, was forgotten in the patch by mistake. Fixes heavy CPU usage on every getwork request (this became obvious with recent heavy transaction spam). Please upgrade.

BitLex November 19, 2010 Source · Permalink

but that’s how it is, you can’t always win the race. if your CPU/regular-miner does this, you wouldn’t even notice/care, except when checking your debug.log.

m0mchil November 20, 2010 Source · Permalink

updated to SVN 186

Quote from: m0mchil on November 20, 2010, 10:16:19 AM

updated to SVN 186

Applies cleanly, thanks Smiley

Satoshi Nakamoto November 20, 2010 Source · Permalink

Quote from: m0mchil on November 20, 2010, 10:16:19 AM

updated to SVN 186

Thanks m0mchil for keeping up on the updates!

GPU miners, please upgrade as soon as possible to shut down the free transaction abuse!  This version has the new priority-based limit on free transaction spam.

Quote from: m0mchil on November 16, 2010, 10:30:41 AM

Just updated to SVN 181 and fixed getwork patch to wait 60 seconds between rebuilding the block with new transactions. This is actually the behavior of the original client, was forgotten in the patch by mistake.  Fixes heavy CPU usage on every getwork request (this became obvious with recent heavy transaction spam). Please upgrade.

Before SVN 184, compiling transactions into a block used an n^2 algorithm.  The new efficient single-pass algorithm is orders of magnitude quicker.  (O(n) vs O(n^2)/2 algorithm, n=200 maybe 10 to 100 times quicker)

Hi m0mchil, firstly thank you for your work. Is there any way to include getwork patch into official client? I’m using bitcoin on old centos server and compiling is pain here!

Satoshi Nakamoto November 24, 2010 Source · Permalink

A revised version of getwork is now in the official client, but the miners need to be updated a little to use it.