README 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. This is a multi-threaded multi-pool CPU and GPU miner for bitcoin.
  2. License: GPLv2. See COPYING for details.
  3. Dependencies:
  4. libcurl http://curl.haxx.se/libcurl/
  5. jansson http://www.digip.org/jansson/
  6. (jansson is included in-tree and not necessary)
  7. libncurses5-dev (or libpdcurses on WIN32)
  8. Basic *nix build instructions:
  9. To build with GPU mining support:
  10. Install AMD APP sdk, latest version - there is no official place to
  11. install it so just keep track of where it is if you're not installing
  12. the include files and library files into the system directory.
  13. (Do NOT install the ati amd sdk if you are on nvidia)
  14. The easiest way to install the ATI AMD SPP sdk on linux is to actually put it
  15. into a system location. Then building will be simpler. Download the correct
  16. version for either 32 bit or 64 bit from here:
  17. http://developer.amd.com/sdks/AMDAPPSDK/downloads/Pages/default.aspx
  18. This will give you a file with a name like AMD-APP-SDK-v2.4-lnx64.tgz
  19. Then:
  20. sudo su
  21. cd /opt
  22. tar xf /path/to/AMD-APP-SDK-v2.4-lnx64.tgz
  23. cd /
  24. tar xf /opt/AMD-APP-SDK-v2.4-lnx64/icd-registration.tgz
  25. ln -s /opt/AMD-APP-SDK-v2.4-lnx64/include/CL /usr/include
  26. ln -s /opt/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/* /usr/lib/
  27. ldconfig
  28. If you are on 32 bit, x86_64 in the 2nd last line should be x86
  29. To actually build:
  30. ./autogen.sh # only needed if building from git repo
  31. CFLAGS="-O3 -Wall -march=native" ./configure
  32. or if you haven't installed the ati files in system locations:
  33. CFLAGS="-O3 -Wall -march=native -I<path to AMD APP include>" LDFLAGS="-L<path to AMD APP lib/x86_64> ./configure
  34. make
  35. If it finds the opencl files it will inform you with
  36. "OpenCL: FOUND. GPU mining support enabled."
  37. Basic WIN32 build instructions (on Fedora 13; requires mingw32):
  38. ./autogen.sh # only needed if building from git repo
  39. rm -f mingw32-config.cache
  40. MINGW32_CFLAGS="-O3 -Wall -msse2" mingw32-configure
  41. make
  42. ./mknsis.sh
  43. Native WIN32 build instructions (on mingw32, on windows):
  44. Install AMD APP sdk, latest version
  45. (Do NOT install the ati amd sdk if you are on nvidia)
  46. Install mingw32
  47. Install libcurl, copy libcurl.m4 into /mingw/share/aclocal
  48. Run:
  49. autoreconf -fvi
  50. CFLAGS="-O3 -Wall -msse2 -I<path to AMD APP include>" LDFLAGS="-L<path to AMD APP lib/x86>" ./configure
  51. make
  52. Usage instructions: Run "cgminer --help" to see options.
  53. EXECUTIVE SUMMARY ON USAGE:
  54. Single pool, regular desktop:
  55. cgminer -o http://pool:port -u username -p password
  56. Single pool, dedicated miner:
  57. cgminer -o http://pool:port -u username -p password -I 8
  58. Multiple pool, dedicated miner:
  59. cgminer -o http://pool1:port -u pool1username -p pool1password -o http://pool2:port -u pool2usernmae -p pool2password -I 8
  60. Also many issues and FAQs are covered in the forum thread
  61. dedicated to this program,
  62. http://forum.bitcoin.org/index.php?topic=28402.0
  63. The output line shows the following:
  64. [(5s):204.4 (avg):203.1 Mh/s] [Q:56 A:51 R:4 HW:0 E:91% U:2.47/m]
  65. Each column is as follows:
  66. A 5 second exponentially decaying average hash rate
  67. An all time average hash rate
  68. The number of requested work items
  69. The number of accepted shares
  70. The number of rejected shares
  71. The number of hardware erorrs
  72. The efficiency defined as the accepted shares / requested work
  73. The utility defines as the number of shares / minute
  74. The cgminer status line shows:
  75. TQ: 1 ST: 1 LS: 0 SS: 0 DW: 0 NB: 1 LW: 8 LO: 1 RF: 1 I: 2
  76. TQ is Total Queued work items.
  77. ST is STaged work items (ready to use).
  78. LS is Longpoll Staged work items (mandatory new work)
  79. SS is Stale Shares discarded (detected and not submitted so don't count as rejects)
  80. DW is Discarded Work items (work from block no longer valid to work on)
  81. NB is New Blocks detected on the network
  82. LW is Locally generated Work items (during slow server providing work)
  83. LO is Local generation Occasions (server slow to provide work)
  84. RF is Remote Fail occasions (server slow to accept work)
  85. I is current Intensity (changes in dynamic mode).
  86. NOTE: Running intensities above 9 with current hardware is likely to only
  87. diminish return performance even if the hash rate might appear better. A good
  88. starting baseline intensity to try on dedicated miners is 8. Higher values are
  89. there to cope with future improvements in hardware.
  90. FAILOVER STRATEGIES WITH MULTIPOOL:
  91. A number of different strategies for dealing with multipool setups are
  92. available. Each has their advantages and disadvantages so multiple strategies
  93. are available by user choice, as per the following list:
  94. FAILOVER:
  95. The default strategy is failover. This means that if you input a number of
  96. pools, it will try to use them as a priority list, moving away from the 1st
  97. to the 2nd, 2nd to 3rd and so on. If any of the earlier pools recover, it will
  98. move back to the higher priority ones.
  99. ROUND ROBIN:
  100. This strategy only moves from one pool to the next when the current one falls
  101. idle and makes no attempt to move otherwise.
  102. ROTATE:
  103. This strategy moves at user-defined intervals from one active pool to the next,
  104. skipping pools that are idle.
  105. LOAD BALANCE:
  106. This strategy sends work in equal amounts to all the pools specified. If any
  107. pool falls idle, the rest will take up the slack keeping the miner busy.