| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- This is a multi-threaded multi-pool 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.
- ---
- EXECUTIVE SUMMARY ON USAGE:
- Single pool, regular desktop:
- cgminer -o http://pool:port -u username -p password
- Single pool, dedicated miner:
- cgminer -o http://pool:port -u username -p password -I 8
- Multiple pool, dedicated miner:
- cgminer -o http://pool1:port -u pool1username -p pool1password -o http://pool2:port -u pool2usernmae -p pool2password -I 8
- ---
- WHILE RUNNING:
- The following options are available while running with a single keypress:
- [P]ool management [S]ettings [D]isplay options [Q]uit
- P gives you:
- Current pool management strategy: Failover
- [A]dd pool [R]emove pool [D]isable pool [E]nable pool
- [C]hange management strategy [S]witch pool [I]nformation
- S gives you:
- [D]ynamic mode: On
- [L]ongpoll: On
- [I]ntensity: Dynamic
- [Q]ueue: 0
- [S]cantime: 60
- [R]etries: -1
- [P]ause: 5
- D gives you:
- Toggle: [D]ebug [N]ormal [S]ilent [V]erbose [R]PC debug
- [L]og interval [C]lear
- and Q quits the application.
- ---
- 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.
- FAILOVER STRATEGIES WITH MULTIPOOL:
- A number of different strategies for dealing with multipool setups are
- available. Each has their advantages and disadvantages so multiple strategies
- are available by user choice, as per the following list:
- FAILOVER:
- The default strategy is failover. This means that if you input a number of
- pools, it will try to use them as a priority list, moving away from the 1st
- to the 2nd, 2nd to 3rd and so on. If any of the earlier pools recover, it will
- move back to the higher priority ones.
- ROUND ROBIN:
- This strategy only moves from one pool to the next when the current one falls
- idle and makes no attempt to move otherwise.
- ROTATE:
- This strategy moves at user-defined intervals from one active pool to the next,
- skipping pools that are idle.
- LOAD BALANCE:
- This strategy sends work in equal amounts to all the pools specified. If any
- pool falls idle, the rest will take up the slack keeping the miner busy.
|