ethereum miner with opencl, cuda and stratum support
Reading: Open source ethereum miner
ethminer is an ethash gpu mining worker: with ethminer you can mine all coins that are based on an ethash proof of work, so includes ethereum, ethereum classic, metaverse, musicoin , ellaism, pirl, expand and others. this is the actively maintained version of ethminer. It originates from the cpp-ethereum project (where gpu mining was discontinued) and is based on improvements made to the genoil fork. see the FAQ for more details.
- opencl mining
- nvidia cuda mining
- realistic benchmarking against arbitrary epoch/dag/block number
- dag generation in gpu (no more dag files on disk)
- stratum mining without proxy
- opencl device selection
- farm failover (getwork + stratum)
- examples of connection to groups
- integration and continuous development builds
- build from scratch
Standalone executables for linux, macos and windows are provided in the releases section. download an archive for your operating system and unzip the contents to a location accessible from the command line. ethminer is ready to start.
the ethminer is a command line program. this means you start it from a windows command prompt or a linux console, or create shortcuts to predefined command lines using a linux bash script or windows batch/cmd file. to get a full list of available commands, run:
examples of connection to groups
Check out our samples to see how to connect to different groups.
integration and continuous development builds
✗ No build artifacts, Amazon S3 is needed for this AppVeyor Windows ✓ Build artifacts available for all PRs and branches
The AppVeyor system automatically builds a Windows .exe for every commit. The latest version is always available on the landing page or you can browse the history to access previous builds.
To download the .exe in a build with the job name, select the version of cuda you use, choose the artifacts, and then download the zip file.
building from source
See also: How to buy SafeMoon | Laptop Mag
see docs/build.md for build/compile details.
maintainers & authors
the list of current and past maintainers, authors, and contributors to the ethminer project. sorted alphabetically. taxpayer statistics since 2015-08-20.
To meet the community, ask general questions, and discuss ethminer, join the ethminer channel on gitter.
all bug reports, pull requests, and code reviews are welcome.
licensed under the gnu general public license, version 3.
frequently asked questions
why is my hashrate with nvidia cards in windows 10 so low?
The new wddm 2.x driver in windows 10 uses a different way of addressing the gpu. this is good for many things, but not for ethical mining.
- for kepler gpus: I really don’t know. let me know what works best for old kepler.
- for maxwell 1 gpus: unfortunately the problem is a bit more serious on the gtx750ti, already causing suboptimal performance on win7 and linux. apparently around 4mh/s can still be achieved on linux which based on the price of eth could still be profitable considering the relatively low power consumption.
- for maxwell 2 gpus: there is a way to mine eth at win7/8/linux speeds on win10, by downgrading the gpu driver to a win7 one (350.12 recommended) and using a build built with cuda 6.5.
- for pascal gpus: you should use the latest wddm 2.1 compatible drivers in combination with windows 10 anniversary edition to get the full potential of your pascal gpu.
why is a gtx 1080 slower than a gtx 1070?
due to gddr5x memory, which cannot be fully used for ethical mining (yet).
are amd cards also affected by slowdowns as dag size increases?
only gcn 1.0 gpus (78×0, 79×0, 270, 280), but differently. you will see that at each new epoch (30k blocks), the hashrate will go down a bit.
can i still mine eth with my 4gb gpu?
See also: How to Buy Ethereum with PayPal in 2021
not really, your vram should be above dag size (currently around 4,023gb) for best performance. without it, serious hash loss will occur.
what are the optimal launch parameters?
default parameters are fine in most scenarios (cuda). for opencl it varies a bit more. just play with the numbers and use powers of 2. gpu as powers of 2.
what does the -cuda-parallel-hash flag do?
@davilizh made improvements to cuda’s kernel hashing process and added this flag to allow changing the number of tasks it executes in parallel. these improvements were optimized for gtx 1060 gpus which saw a big increase in hashrate, gtx 1070 and gtx 1080/ti gpus saw some improvements but less. the default value is 4 (which does not need to be set with the flag) and will provide the best performance in most cases.
what is ethminer’s relationship to the genoil fork?
The genoil fork was the original source for this release, but since genoil no longer maintains that fork on a consistent basis, it became nearly impossible for developers to merge new code into it. In the interests of development progress without waiting for patches, this fork should be considered active and the genoil fork as legacy code.
can i mine the cpu?
no, use geth, the go program built for ethereum by ethereum.
the cuda gpu order changes sometimes. what can i do?
There is an environment var cuda_device_order which tells the nvidia cuda driver how to enumerate the graphics cards. the following values are valid:
- fastest_first (default) – Makes cuda guess which device is the fastest using simple heuristics.
- pci_bus_id – Sorts devices by pci bus id in ascending order.
To avoid some unwanted changes in the order of your cuda devices, you can set the environment variable to pci_bus_id. this can be done in one of 2 ways:
- adapt the /etc/environment file and add a line cuda_device_order=pci_bus_id
- adapt your startup script by starting ethminer and add a line export cuda_device_order=pci_bus_id
- tailor your environment using the control panel (simply search for the environment windows control panel settings using your favorite search engine)
- tailor your startup (.bat) file starting ethminer and add a set of cuda_device_order =pci_bus_id or setx cuda_device_order pci_bus_id lines. for more information on set see here, for more information on setx see here
insufficient cuda driver
you have to update your nvidia drivers. on linux, install the nvidia-396 or newer package.
See also: The best Ethereum ETFs/ETNs | justETF