UPDATE (June 2017) : This guide was written almost a year ago, and while the setup and configuration information remain relevant a couple of things have changed since that time which I will address.
The Claymore Dual miner has undergone several versions and is now up to version 9.4. It now supports more coins in dual mining mode, with the list including: Decred/Siacoin/Lbry/Pascal. There is no longer a DAG file generation, as it now generates it on the fly. The miner supports the latest generation of AMD cards (Polaris) and has had several optimization increasing speed.
The image above shows the latest Claymore 9.4 miner when mining Ethereum alone. It is drawing 700 watts from system when measured at-the-wall using a Kill-a-Watt meter. This results in a 0.215 Mh/s per Watt rating, or inversely it consumes 4.63 watts for every Mh/s.
The image above shows the latest Claymore 9.4 miner when mining Ethereum and Decred simultaneously in Dual-mining mode. You can see that the Ethereum hashrate stayed nearly the same losing only around 2 Mh/s on the entire rig, but adding 3430 Mh/s in Decred mining. The overall power draw for the entire rig increased about 100 watts, however the increase in Decred income more than offsets this for a overall net increase in profit.
The original guide as written in 2016 continues below:
In my latest review of the Asus Strix R7 370 video card, I mentioned the use of Claymore’s miner for performing the testing. Since this is a unique miner compared to the others currently available for mining Ethereum, or more correctly Ether, I decided to devote some time to go over this miner and its features. The Claymore miner is supported on it’s BitCoinTalk thread topic.
The most immediate distinction is that the Claymore miner can operate in a dual mining mode, meaning it can mine Ether simultaneously while mining Decred. This works because the two algorithms are independent and utilize the hardware in different ways which can be capitalized upon to run both algorithms in parallel on the GPU. This dual mode operation comes with only a minimal impact on Ether income versus mining Ethereum alone. With the added generation of Decred, the slight loss in Ether mining is offset by the extra DCR profits. Since the price and difficulty for each coin change on a daily basis, you will need to look at this before deciding which mode is most profitable at any given point in time.
One thing I should mention right away is that unlike other Ethereum mining clients that are currently available, the Claymore mining client comes with a built in fee mechanism to pay the developer for his efforts and to promote continual updates to the miner. The current fee structure is 1% of ETH mined in Ethereum only mode, and 2% of ETH mined in dual, or ETH + DCR mode. Note that all fees are currently paid in ETH, with the actual fee not paid directly, but with a percentage of Ethereum mining time spend mining to the developers account.
This fee mechanic is compiled within the client and cannot be changed. Once every 60 minutes (at the start of the hour) the miner will mine for 36 seconds to the developer’s account under the 1% fee (Ethereum only mining), or 72 seconds under the 2% fee (ETH + DCR mining). While some people have complained, most people report the improvements, stability, and extra shares reported by the pool when using the Claymore miner more than make up for any fee. And as the developer notes, you are free to use other programs if this is a concern to you.
In the image above, we can see the miner operating in Ethereum only mode. This is similar to other Ethereum mining software in that it is only mining Ether in this configuration. Some of the nice things we notice right away in the Claymore client are color coding of various feedback in order to more easily call it out.
We can see the total hash rate, shares, and rejects updated on a regular basis. You can configure a -tt parameter to not only target a specific GPU temperature to control the fans speed, but also to display this information on a regular basis as well. The client will also notify you in green when a share is found and submitted, as well as the round trip time it take for the submission of the share and acknowledgement from the pool.
This last feature is useful to fine tune you connection parameter, and perhaps find a pool closet to your physical location. Reducing this number will also reduce the chance of your share being rejected by the pool due to log delays. Many pools offer different servers based in different geographic locations. In my case, I am using the Ethermine.org pool which has a US1 and US 2 server. I can shave 50 ms off my share round trip time (rtt) by using the US1 pool.
In the image above I have dual mode mining enabled, which is verified (in teal above) when the client first launched. In dual mining mode, we can also see that the client now connects to both the us1.ethermine.org Ethereum pool and the dcr.suprnova.ccDecred pool, as expected.
You can also see that the Claymore mining client will now update periodically with both ETH and DCR status, highlighted in different colors. I am using a dual GPU test rig for this comparison, and you will notice the hash rate went from a little over 28 Mh/s mining Ethereum alone, down to 25.66 Mh/s in dual mode, thus resulting in a 2.34 Mh/s loss in Ethereum mining. However, we can also see we are gaining about 385 Mh/s in Decred mining power. The question that remains is the Decred mining enough to offset the 2.34 Mh/s loss in Ethereum mining.
To find out I ran each mode on the same rig for 24 hours. I used two Asus Strix R7 370 4 GB video cards I recently reviewed in a test rig to perform this comparison. When running in Ethereum only mode, the test rig drew 297 watts of power. In dual (ETH + DCR) mode it drew 326 watts of power. At a electricity rate of $0.12 KW/h, this represents as 24 hour cost of $0.86 and $0.94 respectively.
I have made a table below comparing the results:
|Mode||ETH Hashrate||ETH Earned||DCR HashRate||DCR Earned||Combined Income||Electricity||Fee (ETH)||Net Income|
|ETH Only||28 Mh/s||0.35||–||–||$3.29||$0.86||(1%)||$2.41|
|ETH + DCR||25.66 Mh/s||0.32||385Mh/s||0.2||$3.31||$0.94||(2%)||$2.31|
At this point in time, it appears the dual mining mode is a bit less profitable that simply Ethereum mining alone. A couple a factors lead into this, with the extra power cost and 2% miner fee eating into most of the net profits, as we see the gross daily profit is slightly higher. So dual mining will depend to a large extent on Decred difficulty and price and will most likely vary on a day by day basis.
This comparison is in agreement with my previous attempts at dual mining. While this may be an option for people with low power costs, or for those who which to acquire a bit of Decred and wait for the price to rise, I usually make my calculations based off the fact I regularly sell off coins to at least cover my power costs. So for me the present environment leads me to use Ethereum only mining mode.
Using the Claymore mining client, I am incurring an additional 1% fee into my earnings, but I as many others have found, that the increased stability and more consistent pool reported share rate (corresponding closely to reported share rate) offsets this fee. In fact during the first week I used the Claymore client over qtminer, I actually increased my earnings from 6.0 to 6.2 ETH/week on one rig, in spite of the rising difficulty. Similar increases have also been seen when comparing against the Genoil client. While I am not saying you will earn any more, it does appear you will earn enough extra to negate the 1% fee imposed by the client.
Besides paying for its own fees, the Claymore client has many other features that may warrant its use. As mentioned earlier, I like the color coding output as it helps differentiate the different messages, the ability to adjust difficulty and control fan speeds and temperatures. It also appear, this is subjective, to be more stable in that I have less crashes of the client. Although to be fair this was not a big concern with any of the other clients, although on occasion i would find a stuck or hung rig. If you are in the mining business you just accept that you will need to check in on your farm multiple times each day.
Some of the other features in the Claymore client include:
- Effective Ethereum mining speed is higher by 3-5% because of a completely different miner code – much less invalid and outdated shares, higher GPU load, optimized OpenCL code.
- No DAG files.
- Supports all Stratum versions for Ethereum: can be used directly without any proxies with all pools that support eth-proxy, qtminer or miner-proxy.
- Supports both Http and Stratum for Decred.
- Supports failover.
- Displays detailed mining information and hashrate for every card.
- Supports GPU selection, built-in GPU overclocking features and temperature management.
- Supports Ethereum forks (Expanse, etc).
- Windows and Linux versions.
Let’s go over a few command line options for configuring the Claymore client. I have copied the entire list of available command line options at the end of the article, but you only need a few to get started.
First, Claymore recommends you use the AMD Catalyst (Crimson) 15.12 drivers for best performance and compatibility. Note the link is for the Windows 7 (64bit) version, if you are using a different OS please search fro the correct 15.12 drivers on the AMD site.
In all cases it is recommend you set the following environmental variables in your batch file, as is the case with all clients:
The bare bones configuration you will need for a Ethereum only mining mode is the following:
EthDcrMiner64.exe -epool us1.ethermine.org:4444 -ewal 0x6f52457dbaca44f248fa573fdb57f7fdf0afaa22 -epsw x
The minimum parameters shown above are pool address and port (-epool), your wallet address (-ewal) and ethereum-password (-epsw). The password needs to be set to x if your pool doesn’t use a password or if it is not required. Basically leave this set to x unless you indeed have a pool password, then set it accordingly.
A bit more robust string would be:
EthDcrMiner64.exe -epool us1.ethermine.org:4444 -ewal 0x6f52457dbaca44f248fa573fdb57f7fdf0afaa22 -epsw x -eworker Miner08 -esm 1 -tt 70
This string included the minimum plus user defined worker name (-worker), etereum mode (-esm) with the value of “1” mimicking that of qtminer, and a target temperature of 70° C (-tt). These additions have the effect of showing individual mining statistic on the pool, in this case for Miner08, running stratum mode similar to that of qtminer, and setting the fans to try and keep the GPU no hotter than 70° C. Also this setting periodically displays the GPU temperature and fan speed in the client.
The full list of commands follows, and there are additional examples within the client README file, as well as at the official support thread at BitCoinTalk.
COMMAND LINE OPTIONS:
- -epool Ethereum pool address. Only Stratum protocol is supported. Miner supports all pools that are compatible with Dwarfpool proxy and accept Ethereum wallet address directly.
- -ewal Your Ethereum wallet address. Also worker name and other options if pool supports it.
Pools that require “Login.Worker” instead of wallet address are not supported directly currently, but you can use “-allpools 1” option to mine there.
- -dwal Your Decred wallet address or worker name, it depends on pool.
- -epsw Password for Ethereum pool, use “x” as password.
- -eworker Worker name, it is required for some pools.
- -esm Ethereum Stratum mode. 0 – eth-proxy mode (for example, dwarpool.com), 1 – qtminer mode (for example, ethpool.org), 2 – miner-proxy mode (for example, coinotron.com). 0 is default.
- -etha Ethereum algorithm mode. 0 – optimized for fast cards, 1 – optimized for slow cards. -1 – autodetect (default).
You can also set this option for every card individually, for example “-etha 0,1,0”.
- -ethi Ethereum intensity. Default value is 8, you can decrease this value if you don’t want Windows to freeze or if you have problems with stability. The most low GPU load is “-ethi 0”.
Also “-ethi” now can set intensity for every card individually, for example “-ethi 1,8,6”.
You can also specify negative values, for example, “-ethi -8192”, it exactly means “global work size” parameter which is used in official miner.
- -allpools Specify “-allpools 1” if miner does not want to mine on specified pool (because it cannot mine devfee on that pool), but you agree to use some default pools for devfee mining.
Note that if devfee mining pools will stop, entire mining will be stopped too.
- -allcoins Specify “-allcoins 1” to be able to mine Ethereum forks, in this mode miner will use some default pools for devfee Ethereum mining.
Note that if devfee mining pools will stop, entire mining will be stopped too.
Miner has to use two DAGs in this mode – one for Ethereum and one for Ethereum fork, it can cause crashes because DAGs have different sizes.
Therefore for this mode it is recommended to specify current Ethereum epoch (or a bit larger value),
for example, “-allcoins 47” means that miner will expect DAG size for epoch #47 and will allocate appropriate GPU buffer at starting, instead of reallocating bigger GPU buffer (may crash) when it starts devfee mining.
Another option is to specify “-allcoins -1”, in this mode miner will start devfee round immediately after start and therefore will get current epoch for Ethereum, after that it will be able to mine Ethereum fork.
- -dpool Decred pool address. Only HTTP protocol is supported currently.
- -dpsw Password for Decred pool, use “x” as password.
- -di GPU indexes, default is all available GPUs. For example, if you have four GPUs “-di 02” will enable only first and third GPUs (#0 and #2).
- -mode Select mining mode:
“-mode 0” (default) means Ethereum+Decred mining mode.
“-mode 1” means Ethereum-only mining mode. You can set this mode for every card individually, for example, “-mode 1-02” will set mode “1” for first and third GPUs (#0 and #2).
- -dcri Decred intensity. Default value is 30, you can adjust this value to get the best Decred mining speed without reducing Ethereum mining speed.
You can also specify values for every card, for example “-dcri 30,100,50”.
You can change the intensity in runtime with “+” and “-” keys and check current statistics with “s” key.
For example, by default (-dcri 30) 390 card shows 29MH/s for Ethereum and 440MH/s for Decred. Setting -dcri 70 causes 24MH/s for Ethereum and 850MH/s for Decred.
- -dcrt Time period between Decred HTTP requests for new job, in seconds. Default value is 10 seconds.
- -wd watchdog option. Default value is “-wd 1”, it enables watchdog, miner will be closed (or restarted, see “-r” option) if any thread is not responding for 1 minute or OpenCL call failed.
Specify “-wd 0” to disable watchdog.
- -r Restart miner mode. “-r 0” (default) – restart miner if something wrong with GPU. “-r -1” – disable automatic restarting. -r >20 – restart miner if something
wrong with GPU or by timer. For example, “-r 60” – restart miner every hour or when some GPU failed.
“-r 1” closes miner and execute “reboot.bat” file in the miner directory (if exists) if some GPU failed.
So you can create “reboot.bat” file and perform some actions, for example, reboot system if you put this line there: “shutdown /r /t 5 /f”.
- -dbg debug log and messages. “-dbg 0” – (default) create log file but don’t show debug messages.
“-dbg 1” – create log file and show debug messages. “-dbg -1” – no log file and no debug messages.
- -tt set target GPU temperature. For example, “-tt 80” means 80C temperature. You can also specify values for every card, for example “-tt 70,80,75”.
You can also set static fan speed if you specify negative values, for example “-tt -50” sets 50% fan speed. Specify zero to disable control for some card(s).
Unfortunately, AMD blocked underclocking for some reason, you can overclock only.
- -cclock set target GPU core clock speed, in MHz. If not specified or zero, miner will not change current clock speed. You can also specify values for every card, for example “-cclock 1000,1050,1100,0”.
Unfortunately, AMD blocked underclocking for some reason, you can overclock only.
- -mclock set target GPU memory clock speed, in MHz. If not specified or zero, miner will not change current clock speed. You can also specify values for every card, for example “-mclock 1200,1250,1200,0”.