Difference between revisions of "BFGMiner"
m |
(→External Links: Additional reference) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | A | + | 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 | ||
− | |||
* [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.
Contents
Features
- A variety of device drivers for Bitcoin (SHA256d):
- Butterfly Labs's BitForce SC (ASIC) product line
- Avalon ASIC mining rig
- Butterfly Labs's FPGA BitForce Singles and MiniRigs
- Enterpoint's Cairnsmore1 FPGA mining board
- FPGA Mining X6500
- Qi Hardware's Icarus and Lancelot FPGA mining boards
- BTCFPGA's ModMiner Quad FPGA-based mining device
- Ztex's FPGA boards
- OpenCL GPUs, such as 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:
- ASICMINER ASICs
- any other device provided for development
- 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
- bfgminer project page on GitHub
- Binaries and Source - All Versions
- BitcoinTalk forum thread
- bfgminer compiled for Mac OS X
- Bitcoin Mining Software