Optimizing efficiency using custom modeI spent some time playing around with custom mode with the target of optimizing the unit efficiency while keeping the hashrate the same as in eco mode. Here are some findings and instructions that may be of use to also others.
The setupMy unit is powered with a Dell DA-2 PSU which is connected to the unit using a custom cable using XT60 connector in between before the pci-e connector. This allowed having one power meter before the PSU and another one after it (
HobbyKing HK-010 in this case). That way, it didn't matter if the efficiency of the PSU changed depending on load as I was able to see how much the unit was actually using. Fan was set 15% as I also expected to see some changes in the miner temperature and litecoinpool was used as only configured pool to ensure constant and steady load. The current firmware (0.0.2) was in use.
The tuning processThe basic idea is really simple: start with the same settings as in eco mode and lower the voltage until the error percent jumps.
The reality was that I found some bugs but did get the job done.
The first issue I noticed was that the "reset to default value" in custom mode doesn't, at least currently, match the same voltage as in eco mode. Based on the power meters, it would look like the eco mode is using 760.20 mV as voltage and 598 MHz as frequency. However, the default for custom mode is 747 mV and 598 MHz. But at least the frequency is likely to be the same so I started from 760.20 mV while keeping the frequency fixed at 598 MHz.
The next issue, at least with Firefox, is that moving the voltage slider results in the save dialog popping up on top of the page which then moves the voltage slider down and sometimes gave the impression that the slider had moved more than I intended. That can kind of be solved by just clicking the slider to put focus on it and then pressing the left arrow from the keyboard once. That guarantees a reduction of one increment and the save button can then be clicked to make the change go live.
Finally, there's some sort of calculation or rounding error with the numbers of the voltage slider as those don't always correctly match the value that the miner then gets from the /var/local/apollo/hwmon/reg_voltage file that gets updated. As an example, both 743.6 mV and 747.75 mV result in reg_voltage being set to 24 so there's no change being done even when on of the values is smaller in the user interface. Then sometimes one increment results in reg_voltage being decreases by 2 instead of 1. For example, 739.45 mV gives reg_voltage 23 but the next step 735.3 mV results in reg_voltage 21. This results in some voltage steps not being available for selection from the user interface. These issues repeat few times within the tested range and can be seen as missing reg_voltage values in the table below.
I was also missing a button to reset the bfgminer stats back to zero (="feature request"
) so that it would be faster to see what the error rate is. Without stats reset, you'll be looking at the full runtime average. As a workaround, I accessed the bfgminer screen from the command line and executed a stats reset directly from its interface after every voltage change. That also resets the stats in the web interface.
Here are finally the steps I repeated during about 30 minutes until I found the lowest usable voltage:
1) drop voltage by one increment and press save
2) verify from /var/local/apollo/hwmon/reg_voltage and power meters that some change was applied
3) reset bfgminer stats
4) give the stats 1-2 minutes to stabilize
5) record the values for later analysis
6) if error % stays below 1-2% then go back to step 1
The resultsWith my unit, the error % started increasing at 689.65 mV and 685.50 mV was clearly too low. As a result, I've set the voltage to 697.95 mV. This gave me a reduction of about 20W when looked from the wall socket side while still keeping the hashrate exactly the same. Also the temperature dropped from around 60C (forgot to record the exact initial value) to 54C which would make the unit produce less noise if the automatic fan is used. As an interesting side note, the voltage increments appear to match exactly 0.1A changes at 12V on the unit side.
The lowest possible voltage for a given frequency is likely to be somewhat unit specific and therefore using the lowest value I got may not produce the same end results. That's why the steps above should be followed if something like this is tried. Having a power meter or two isn't really mandatory but having at least one helps to give some idea what the power usage is before and after.