diff --git a/README b/README index a7d41b94..702cc754 100644 --- a/README +++ b/README @@ -118,43 +118,20 @@ Usage instructions: Run "cgminer --help" to see options: Usage: . [-atDdGCgIKklmpPQqrRsTouvwOchnV] Options for both config file and command line: ---algo|-a Specify sha256 implementation for CPU mining: - auto Benchmark at startup and pick fastest algorithm - c Linux kernel sha256, implemented in C - 4way tcatm's 4-way SSE2 implementation - via VIA padlock implementation - cryptopp Crypto++ C/C++ implementation - sse2_64 SSE2 64 bit implementation for x86_64 machines - sse4_64 SSE4.1 64 bit implementation for x86_64 machines (default: sse2_64) --api-description Description placed in the API status header (default: cgminer version) --api-listen Listen for API requests (default: disabled) --api-network Allow API (if enabled) to listen on/for any address (default: only 127.0.0.1) --api-port Port number of miner API (default: 4028) --auto-fan Automatically adjust all GPU fan speeds to maintain a target temperature --auto-gpu Automatically adjust all GPU engine clock speeds to maintain a target temperature ---cpu-threads|-t Number of miner CPU threads (default: 4) --debug|-D Enable debug output ---device|-d Select device to use, (Use repeat -d for multiple devices, default: all) ---disable-gpu|-G Disable GPU mining even if suitable devices exist --donation Set donation percentage to cgminer author (0.0 - 99.9) (default: 0.0) ---enable-cpu|-C Enable CPU mining with GPU mining (default: no CPU mining if suitable GPUs exist) --expiry|-E Upper bound on how many seconds after getting work we consider a share from it stale (default: 120) --failover-only Don't leak work to backup pools when primary pool is lagging ---gpu-threads|-g Number of threads per GPU (1 - 10) (default: 2) ---gpu-engine GPU engine (over)clock range in Mhz - one value, range and/or comma separated list (e.g. 850-900,900,750-850) ---gpu-fan GPU fan percentage range - one value, range and/or comma separated list (e.g. 25-85,85,65) ---gpu-memclock Set the GPU memory (over)clock in Mhz - one value for all or separate by commas for per card. ---gpu-memdiff Set a fixed difference in clock speed between the GPU and memory in auto-gpu mode ---gpu-powertune Set the GPU powertune percentage - one value for all or separate by commas for per card. ---gpu-vddc Set the GPU voltage in Volts - one value for all or separate by commas for per card. ---intensity|-I Intensity of GPU scanning (d or -10 -> 10, default: d to maintain desktop interactivity) ---kernel-path|-K Specify a path to where the kernel .cl files are (default: "/usr/local/bin") ---kernel|-k Select kernel to use (poclbm or phatk - default: auto) --load-balance Change multipool strategy from failover to even load balance --log|-l Interval in seconds between log output (default: 5) --monitor|-m Use custom pipe cmd for output messages --no-longpoll Disable X-Long-Polling support ---no-restart Do not attempt to restart GPUs that hang --pass|-p Password for bitcoin JSON-RPC server --per-device-stats Force verbose mode and output per-device statistics --protocol-dump|-P Verbose dump of protocol-level activities @@ -166,31 +143,70 @@ Options for both config file and command line: --retry-pause|-R Number of seconds to pause, between retries (default: 5) --rotate Change multipool strategy from failover to regularly rotate at N minutes (default: 0) --round-robin Change multipool strategy from failover to round robin on failure ---scan-serial|-S Serial port to probe for BitForce device --scan-time|-s Upper bound on time spent scanning current work, in seconds (default: 60) --sched-start Set a time of day in HH:MM to start mining (a once off without a stop time) --sched-stop Set a time of day in HH:MM to stop mining (will quit without a start time) --shares Quit after mining N shares (default: unlimited) --submit-stale Submit shares even if they would normally be considered stale --syslog Use system log for output messages (default: standard error) ---temp-cutoff Temperature where a GPU device will be automatically disabled, one value or comma separated list (default: 95) ---temp-hysteresis Set how much the temperature can fluctuate outside limits when automanaging speeds (default: 3) ---temp-overheat Overheat temperature when automatically managing fan and GPU speeds (default: 85) ---temp-target Target temperature when automatically managing fan and GPU speeds (default: 75) --text-only|-T Disable ncurses formatted screen output --url|-o URL for bitcoin JSON-RPC server --user|-u Username for bitcoin JSON-RPC server ---vectors|-v Override detected optimal vector width (1, 2 or 4) --verbose Log verbose output to stderr as well as status output ---worksize|-w Override detected optimal worksize (default: 0) --userpass|-O Username:Password pair for bitcoin JSON-RPC server Options for command line only: --config|-c Load a JSON-format configuration file See example.conf for an example configuration. --help|-h Print this message ---ndevs|-n Enumerate number of detected GPUs and exit --version|-V Display version and exit + +GPU only options: + +--auto-fan Automatically adjust all GPU fan speeds to maintain a target temperature +--auto-gpu Automatically adjust all GPU engine clock speeds to maintain a target temperature +--device|-d Select device to use, (Use repeat -d for multiple devices, default: all) +--disable-gpu|-G Disable GPU mining even if suitable devices exist +--gpu-threads|-g Number of threads per GPU (1 - 10) (default: 2) +--gpu-engine GPU engine (over)clock range in Mhz - one value, range and/or comma separated list (e.g. 850-900,900,750-850) +--gpu-fan GPU fan percentage range - one value, range and/or comma separated list (e.g. 25-85,85,65) +--gpu-memclock Set the GPU memory (over)clock in Mhz - one value for all or separate by commas for per card. +--gpu-memdiff Set a fixed difference in clock speed between the GPU and memory in auto-gpu mode +--gpu-powertune Set the GPU powertune percentage - one value for all or separate by commas for per card. +--gpu-vddc Set the GPU voltage in Volts - one value for all or separate by commas for per card. +--intensity|-I Intensity of GPU scanning (d or -10 -> 10, default: d to maintain desktop interactivity) +--kernel-path|-K Specify a path to where the kernel .cl files are (default: "/usr/local/bin") +--kernel|-k Select kernel to use (poclbm or phatk - default: auto) +--no-restart Do not attempt to restart GPUs that hang +--temp-cutoff Temperature where a GPU device will be automatically disabled, one value or comma separated list (default: 95) +--temp-hysteresis Set how much the temperature can fluctuate outside limits when automanaging speeds (default: 3) +--temp-overheat Overheat temperature when automatically managing fan and GPU speeds (default: 85) +--temp-target Target temperature when automatically managing fan and GPU speeds (default: 75) +--vectors|-v Override detected optimal vector width (1, 2 or 4) +--worksize|-w Override detected optimal worksize (default: 0) +--ndevs|-n Enumerate number of detected GPUs and exit + + +BitForce only options: + +--scan-serial|-S Serial port to probe for BitForce device + + +CPU only options: + +--algo|-a Specify sha256 implementation for CPU mining: + auto Benchmark at startup and pick fastest algorithm + c Linux kernel sha256, implemented in C + 4way tcatm's 4-way SSE2 implementation + via VIA padlock implementation + cryptopp Crypto++ C/C++ implementation + sse2_64 SSE2 64 bit implementation for x86_64 machines + sse4_64 SSE4.1 64 bit implementation for x86_64 machines (default: sse2_64) +--cpu-threads|-t Number of miner CPU threads (default: 4) +--enable-cpu|-C Enable CPU mining with other mining (default: no CPU mining if suitable devices exist) + + + --- EXECUTIVE SUMMARY ON USAGE: @@ -652,7 +668,8 @@ does not support it. Q: The CPU usage is high. A: The ATI drivers after 11.6 have a bug that makes them consume 100% of one CPU core unnecessarily so downgrade to 11.6. Binding cgminer to one CPU core on -windows can minimise it to 100% (instead of more than one core). +windows can minimise it to 100% (instead of more than one core). Driver version +11.11 on linux and 11.12 on windows appear to have fixed this issue. Q: Can you implement feature X? A: I can, but time is limited, and people who donate are more likely to get @@ -713,6 +730,35 @@ you request. It does not correlate with efficient use of your hardware, and is a measure of a combination of hardware speed, block luck, pool design and other factors. +Q: What are the best parameters to pass for X pool/hardware/device. +A: Virtually always, the DEFAULT parameters give the best results. Most user +defined settings lead to worse performance. The ONLY thing most users should +need to set is the Intensity. + +Q: What happened to CPU mining? +A: Being increasingly irrelevant for most users, and a maintenance issue, it is +no longer under active development and will not be supported unless someone +steps up to help maintain it. No binary builds supporting CPU mining will be +released but CPU mining can be built into cgminer when it is compiled. + +Q: I upgraded my ATI driver/SDK/cgminer and my hashrate suddenly dropped! +A: The hashrate performance in cgminer is tied to the version of the ATI SDK +that is installed only for the very first time cgminer is run. This generates +binaries that are used by the GPU every time after that. Any upgrades to the +SDK after that time will have no effect on the binaries. However, if you +install a fresh version of cgminer, and have since upgraded your SDK, new +binaries will be built. It is known that the 2.6 ATI SDK has a huge hashrate +penalty on generating new binaries. It is recommended to not use this SDK at +this time. + +Q: Which ATI SDK is the best for cgminer? +A: At the moment, versions 2.4 and 2.5 work the best. If you are forced to use +the 2.6 SDK, -v 1 -w 64 might help, along with not decreasing your memroy clock +speed. + +Q: ATI 79XX support? +A: Pending. + Q: GUI version? A: No. The RPC interface makes it possible for someone else to write one though.