Configuring the Miner
After I flashed my cards with the modified BIOS, it is time to look at the Claymore 9.1 settings I am using. I will be testing with just mining Ethereum at first, so I created a batch file as shown below with the appropriate settings shown. As mentioned before, since Wattool (which I normally use to overclock and adjust voltages) seems to be momentarily incompatible with the RX5xx series, I am using the commands available in the Claymore mining program to control these aspects.
setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100
EthDcrMiner64.exe -epool eth-us-east1.nanopool.org:9999 -ewal 0x018c62d37d95f5a8c8e8e48fa299655ee2558000.%COMPUTERNAME% -epsw x -esm 0 -estale 0 -mode 1 -asm 1 -dcri 9 -cclock 1135 -cvddc 950 -mclock 2150
The top portion of the batch file sets the GPU environmental variables to the defaults recommended in the Claymore Readme file. The line beginning with EthDCRMiner64… starts the actual mining program and feeds it various parameters upon startup. I will go over this line piece by piece below:
EthDCRMiner64.exe – Calls the executable
-epool eth-us-east1.nanopool.org:9999 – sets the pool and port, in this case the Nanopool Ethereum pool, port 9999
-ewal 0x018c62d37d95f5a8c8e8e48fa299655ee2558000.%COMPUTERNAME% – Sets your wallet address (change to your address) and specifies the <optional> rig name after the period separator. In this case I simply set my rig pool ID to the same as my computer-name variable, which is my RIG name. I name my mining rigs with simple names such as Miner01…Miner21, etc, so my pool rig name will show up the same way to aid in troubleshooting and to know which rig is pointed where and its performance. This method also allows me an easy way to deploy new mining software updates as i can deploy this same batch file to any of my rigs and it will check it with its own name.
-epsw x – Pool password, usually just an x or z or something as most pools don’t use this field. You might not need it at all with your pool, but I keep it default so I can switch to various pools without modifying my batch file.
-esm 0 – Ethereum Stratum mode, set this to your pools preference.
-estale 0 – this can be 0 or 1, 0 indicates to not send stale shares to the pool, as they wont be counted anyway. This provides a minuscule overhead benefit and cuts down on the number of rejects displayed poolside.
-mode 1 – I am mining in Ethereum only mode, this would be detected automatically but I like set it manually
-asm 1 – enables assembler GPU kernels, slight performance increase on later model AMD cards, 1 to enable, 0 to disable.
-dcri 9 – In later Claymore releases, he uses this same parameter to fine tune mining, can also be used when mining Ethereum only, Use the + and – keys within the mining program to slowly determine your rigs best setting. In my case it is around 8 or 9. Once you have determined the optimal setting, you can hard set it on launch with this parameter. By default it is set to 30 I believe.
-cclock 1135 – core clock speed in MHz, one value sets all cards to same speed, you can also set cards separately using a comma between values. I am under-clocking my cards in this example so I can under-volt them (next setting)
-cvddc 950 – core voltage, in mv 950 in this example would equate to 0.95 V. By lowering the core voltage is a key way to lower wattage and temperatures. You want to aim for as low a value as possible without crashing.
-mclock 2150 – memory clock in MHz. Set this as high as possible without crashing to solo mine Ethereum. There is also a -mvddc option, but I left it at default int his rig as I am keeping the memory at higher clocks for now.
Wow, that seemed like a lot of settings to go over, but I realize some of the visitors to my site are new to mining in general. With this in mind, I like to cover as much ground as possible even if it seems too basic for my more advanced readers.
Now with all that complete, we can finally get to the good part, the results!
As you can see from the screenshot above, with the VBIOS mod and Claymore mining parameter adjustments I manged to get about 5 more Mh/s per card, going from around 25 Mh/s each with default settings to about 30 Mh/s each.
What you cannot see is the power draw, which went from around 150 watts per card down to around 122 watts per card as measured from the wall using a kill-a-watt meter as shown on the left.
The test system I am using has 5 of these RX580’s in it, and I measured that the system itself (Motherboard, CPU, RAM,and SDD) uses 50 watts at idle. I simply take the 659 watt total system (when mining) draw, subtract the 50 watt system overhead to get 609 watts, and divide this by 5 to get a per card estimate of 121.8 watts.
While this is definitely better than the default settings, it is still nothing special compared with the older generation cards. Indeed when compared to some other systems it is a higher hash per watt draw at roughly 4 watts per Mh/s with some RX470 systems getting down to 3.5 watt per MH/s or even lower. It is still early in the RX5xx lines life-cycle, so maybe more improvements will be on the way in drivers and/or utilities that will help this situation. For now, when used for mining purposes, you may be better off sticking with a RX4xx generation if you can still find them.
Again, this is an early look and the situation may improved in the next weeks, and I will keep this article updated as new information comes in or I find more optimized settings.