BFGMiner: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
(Created page with "A combined FPGA, GPU and CPU miner written in C, cross platform for Windows, Linux and OS X, based on the original code CG Miner. ==See Also== * Pooled mining * [[Wh...")
 
(→‎External Links: Additional reference)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A combined FPGA, GPU and CPU miner written in C, cross platform for Windows, Linux and OS X, based on the original code [[CG Miner]].
A modular ASIC, FPGA, GPU and CPU miner written in C, cross platform for Linux, Mac, and Windows including support for OpenWrt-capable routers.
 
==Features==
* A variety of device drivers for Bitcoin (SHA256d):
** [http://www.butterflylabs.com/bitforce-sc-release-notes/ Butterfly Labs's BitForce SC (ASIC) product line]
** [http://launch.avalon-asics.com/ Avalon ASIC mining rig]
** [http://www.butterflylabs.com/product-details/ Butterfly Labs's FPGA BitForce Singles and MiniRigs]
** [http://www.enterpoint.co.uk/cairnsmore/cairnsmore1.html Enterpoint's Cairnsmore1 FPGA mining board]
** [http://fpgamining.com/products/x6500-rev3 FPGA Mining X6500]
** Qi Hardware's [http://en.qi-hardware.com/wiki/Icarus Icarus] and [http://en.qi-hardware.com/wiki/Lancelot Lancelot] FPGA mining boards
** [http://www.btcfpga.com/index.php?route=product/product&product_id=50 BTCFPGA's ModMiner Quad FPGA-based mining device]
** [http://www.ztex.de/ Ztex's FPGA boards]
** OpenCL GPUs, such as [http://www.amd.com/us/products/Pages/graphics.aspx AMD Radeons]
*** Kernels (including BFI_INT patching): Diablo, DiaKGCN, Phatk and poclbm
*** VECTOR support
*** Dynamic intensity that keeps desktop interactive under load and maximises throughput when desktop idle
*** Integrated overclocking and fan control (including automatic adjustment, if configured)
*** ADL device reordering by PCI bus ID
*** GCN (79x0) support
** CPU (not enabled by default nor included in Windows build)
** Coming soon:
*** [https://bitcointalk.org/?topic=99497 ASICMINER ASICs]
*** ''any other device provided for development''
* Support for new [[Getblocktemplate|getblocktemplate decentralized mining protocol]]
* Scrypt mining support for both CPU and OpenCL (GPU)
* Very low overhead free C code for Linux and Windows with very low CPU usage
* Long poll support - will use longpoll from any pool if primary pool does not support it
* epoll support for interrupting FPGA waiting when new work is available without timeout-looping
* Self detection of new blocks with a mini-database for slow/failing longpoll scenarios, maximum work efficiency and minimum rejects
* Heavily threaded code hands out work retrieval and work submission to separate threads to not hinder devices working
* Caching of submissions during transient network outages
* Preemptive fetching of work prior to completion of current work
* Local generation of more valid work (rollntime) whenever possible, as supported on a per-work item basis
* Prevention of stale work submission on new block (submitold also supported)
* Automatically detects failing pools and disables them
* Multi-device support (all or discrete selection)
* Summarised and discrete device data statistics of requests, accepts, rejects, hw errors, efficiency and utility
* Watchdog thread to restart idle threads but not crash machine if they don't respond
* Summary displayed when quitting
* Supports multiple pools with multiple intelligent failover mechanisms
* On the fly menu based management of most settings
* Trickling of extra work to backup pools if primary pool is responding but slow
* On the fly enabling/disable/restarting of devices
* Device temperature monitoring (for devices that support it)
* Reuses persistent connections when possible
* RPC +/- JSON interface for remote control
* Ability to cope with slow routers
* X-Reject-Reason support
* Lots of other stuff I can't remember. See options.


==See Also==
==See Also==
Line 9: Line 57:


* [https://github.com/luke-jr/bfgminer bfgminer] project page on GitHub
* [https://github.com/luke-jr/bfgminer bfgminer] project page on GitHub
* [https://bitcointalk.org/?topic=78192 Project Thread]
* [http://luke.dashjr.org/programs/bitcoin/files/bfgminer/ Binaries and Source - All Versions]
* [http://luke.dashjr.org/programs/bitcoin/files/bfgminer/ Binaries and Source - All Versions]
* [https://bitcointalk.org/?topic=78192 BitcoinTalk forum thread]
* [http://fabulouspanda.co.uk/commandline/bfgminer/ bfgminer compiled for Mac OS X]
* [http://www.bitcoinmining.com/bitcoin-mining-software/ Bitcoin Mining Software]


==References==
==References==

Latest revision as of 01:28, 1 June 2015

A modular ASIC, FPGA, GPU and CPU miner written in C, cross platform for Linux, Mac, and Windows including support for OpenWrt-capable routers.

Features

  • A variety of device drivers for Bitcoin (SHA256d):
  • Support for new getblocktemplate decentralized mining protocol
  • Scrypt mining support for both CPU and OpenCL (GPU)
  • Very low overhead free C code for Linux and Windows with very low CPU usage
  • Long poll support - will use longpoll from any pool if primary pool does not support it
  • epoll support for interrupting FPGA waiting when new work is available without timeout-looping
  • Self detection of new blocks with a mini-database for slow/failing longpoll scenarios, maximum work efficiency and minimum rejects
  • Heavily threaded code hands out work retrieval and work submission to separate threads to not hinder devices working
  • Caching of submissions during transient network outages
  • Preemptive fetching of work prior to completion of current work
  • Local generation of more valid work (rollntime) whenever possible, as supported on a per-work item basis
  • Prevention of stale work submission on new block (submitold also supported)
  • Automatically detects failing pools and disables them
  • Multi-device support (all or discrete selection)
  • Summarised and discrete device data statistics of requests, accepts, rejects, hw errors, efficiency and utility
  • Watchdog thread to restart idle threads but not crash machine if they don't respond
  • Summary displayed when quitting
  • Supports multiple pools with multiple intelligent failover mechanisms
  • On the fly menu based management of most settings
  • Trickling of extra work to backup pools if primary pool is responding but slow
  • On the fly enabling/disable/restarting of devices
  • Device temperature monitoring (for devices that support it)
  • Reuses persistent connections when possible
  • RPC +/- JSON interface for remote control
  • Ability to cope with slow routers
  • X-Reject-Reason support
  • Lots of other stuff I can't remember. See options.

See Also

External Links

References