|
|
|
|
|
|
|
This is a multi-threaded CPU and GPU miner for bitcoin.
|
|
|
|
|
|
|
|
License: GPLv2. See COPYING for details.
|
|
|
|
|
|
|
|
Dependencies:
|
|
|
|
libcurl http://curl.haxx.se/libcurl/
|
|
|
|
jansson http://www.digip.org/jansson/
|
|
|
|
(jansson is included in-tree and not necessary)
|
|
|
|
libncurses5-dev (or libpdcurses on WIN32)
|
|
|
|
|
|
|
|
Basic *nix build instructions:
|
|
|
|
To build with GPU mining support:
|
|
|
|
Install AMD APP sdk, latest version - there is no official place to
|
|
|
|
install it so just keep track of where it is if you're not installing
|
|
|
|
the include files and library files into the system directory.
|
|
|
|
(Do NOT install the ati amd sdk if you are on nvidia)
|
|
|
|
|
|
|
|
The easiest way to install the ATI AMD SPP sdk on linux is to actually put it
|
|
|
|
into a system location. Then building will be simpler. Download the correct
|
|
|
|
version for either 32 bit or 64 bit from here:
|
|
|
|
http://developer.amd.com/sdks/AMDAPPSDK/downloads/Pages/default.aspx
|
|
|
|
|
|
|
|
This will give you a file with a name like AMD-APP-SDK-v2.4-lnx64.tgz
|
|
|
|
|
|
|
|
Then:
|
|
|
|
|
|
|
|
sudo su
|
|
|
|
cd /opt
|
|
|
|
tar xf /path/to/AMD-APP-SDK-v2.4-lnx64.tgz
|
|
|
|
cd /
|
|
|
|
tar xf /opt/AMD-APP-SDK-v2.4-lnx64/icd-registration.tgz
|
|
|
|
ln -s /opt/AMD-APP-SDK-v2.4-lnx64/include/CL /usr/include
|
|
|
|
ln -s /opt/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/* /usr/lib/
|
|
|
|
ldconfig
|
|
|
|
|
|
|
|
If you are on 32 bit, x86_64 in the 2nd last line should be x86
|
|
|
|
|
|
|
|
To actually build:
|
|
|
|
|
|
|
|
./autogen.sh # only needed if building from git repo
|
|
|
|
CFLAGS="-O3 -Wall -march=native" ./configure
|
|
|
|
or if you haven't installed the ati files in system locations:
|
|
|
|
CFLAGS="-O3 -Wall -march=native -I<path to AMD APP include>" LDFLAGS="-L<path to AMD APP lib/x86_64> ./configure
|
|
|
|
make
|
|
|
|
|
|
|
|
If it finds the opencl files it will inform you with
|
|
|
|
"OpenCL: FOUND. GPU mining support enabled."
|
|
|
|
|
|
|
|
Basic WIN32 build instructions (on Fedora 13; requires mingw32):
|
|
|
|
./autogen.sh # only needed if building from git repo
|
|
|
|
rm -f mingw32-config.cache
|
|
|
|
MINGW32_CFLAGS="-O3 -Wall -msse2" mingw32-configure
|
|
|
|
make
|
|
|
|
./mknsis.sh
|
|
|
|
|
|
|
|
Native WIN32 build instructions (on mingw32, on windows):
|
|
|
|
Install AMD APP sdk, latest version
|
|
|
|
(Do NOT install the ati amd sdk if you are on nvidia)
|
|
|
|
Install mingw32
|
|
|
|
Install libcurl, copy libcurl.m4 into /mingw/share/aclocal
|
|
|
|
Run:
|
|
|
|
autoreconf -fvi
|
|
|
|
CFLAGS="-O3 -Wall -msse2 -I<path to AMD APP include>" LDFLAGS="-L<path to AMD APP lib/x86>" ./configure
|
|
|
|
make
|
|
|
|
|
|
|
|
Usage instructions: Run "cgminer --help" to see options.
|
|
|
|
|
|
|
|
Also many issues and FAQs are covered in the forum thread
|
|
|
|
dedicated to this program,
|
|
|
|
http://forum.bitcoin.org/index.php?topic=28402.0
|
|
|
|
|
|
|
|
The output line shows the following:
|
|
|
|
[(5s):204.4 (avg):203.1 Mh/s] [Q:56 A:51 R:4 HW:0 E:91% U:2.47/m]
|
|
|
|
|
|
|
|
Each column is as follows:
|
|
|
|
A 5 second exponentially decaying average hash rate
|
|
|
|
An all time average hash rate
|
|
|
|
The number of requested work items
|
|
|
|
The number of accepted shares
|
|
|
|
The number of rejected shares
|
|
|
|
The number of hardware erorrs
|
|
|
|
The efficiency defined as the accepted shares / requested work
|
|
|
|
The utility defines as the number of shares / minute
|
|
|
|
|
|
|
|
The cgminer status line shows:
|
|
|
|
TQ: 1 ST: 1 LS: 0 SS: 0 DW: 0 NB: 1 LW: 8 LO: 1 RF: 1 I: 2
|
|
|
|
|
|
|
|
TQ is Total Queued work items.
|
|
|
|
ST is STaged work items (ready to use).
|
|
|
|
LS is Longpoll Staged work items (mandatory new work)
|
|
|
|
SS is Stale Shares discarded (detected and not submitted so don't count as rejects)
|
|
|
|
DW is Discarded Work items (work from block no longer valid to work on)
|
|
|
|
NB is New Blocks detected on the network
|
|
|
|
LW is Locally generated Work items (during slow server providing work)
|
|
|
|
LO is Local generation Occasions (server slow to provide work)
|
|
|
|
RF is Remote Fail occasions (server slow to accept work)
|
|
|
|
I is current Intensity (changes in dynamic mode).
|
|
|
|
|
|
|
|
NOTE: Running intensities above 9 with current hardware is likely to only
|
|
|
|
diminish return performance even if the hash rate might appear better. A good
|
|
|
|
starting baseline intensity to try on dedicated miners is 8. Higher values are
|
|
|
|
there to cope with future improvements in hardware.
|