thanks for your great work @phoenixminer
would u mind to give an example on how to use the new options?
thanks and regards
We are planning to prepare a mini-guide but here is the short version:
1. The overclocking and fan control options now work with Nvidia cards under Windows. Since Nvidia cards actually accept only an offset from the base clocks, you should specify e.g.
-cclock -300 if you want to decrease the core clocks by 300 MHz, and
-mclock +400 if you want to overclock the memory by 400 MHz. Note that you still can specify absolute values (e.g. -cclock 1400 or -mclock 4200) but we will get the default base clocks as reported by the card and then apply the difference as clock offset anyway.
2. Note that in most cases Nvidia cards work in P2 state instead of P0 state when mining. This isn't a problem except that the default memory clocks are usually lower in P2 state (for example 3800 Mhz instead of 4000 Mhz in P0 state). This means that you will need to apply higher memory offset to achieve the desired memory clocks. In the previous example you will need to apply -mclock +600 to get to memory clocks 4400 Mhz because the base clock is only 3800 in P2 state. In order to see the actual core and memory clocks, you should use the new
-hstats 2 option which will provide core and memory frequencies, voltages, and P-state for each card (if reported by the driver).
3. Nvidia cards doesn't allow meaningful changes to the core or memory voltages. So -cvddc and -mvddc will have no effect on Nvidia cards.
4. The best strategy of setting up the Nvidia cards is to avoid lowering the core clock via -cclock but instead use the -powlim option to lower the power limit of the card. Start with
-powlim -50 to set the power limit to 50% and see if the hashrate is lower. The reason for this is when core clocks are lowered, most Nvidia cards doesn't lower the core voltage, so the card continues to use the same power as before.
5. As for the fan settings, they work similarly on Nvidia and AMD cards. You should set the desired temperature with -tt (e.g.
-tt 65 to set 65C as desired card temperature). PhoenixMiner will control the fan speed, trying to keep the cards temperature at 65C. You can also set the card max temperature with -tmax. At this temperature the card will start to lower its core clocks (i.e. to throttle) to avoid overheating. By default these temperatures are quite high (usually over 80C) so it is a good idea to set it to something about 5C higher than the -tt temperature (e.g.
-tt 65 -tmax 70). If the fans can cool the cards enough so it won't reach 70C, it will mine with the same speed. You can also use the -fanmin and -fanmax to set the range of allowed fan speeds in percent. For example a good values are
-fanmin 20 -fanmax 60, which will keep the fans no lower than 20% and no higher than 60%. If the fans hit 60% but are still unable to keep the card temperature under -tmax, the card will start to throttle to keep the temperature at about 70C, which will lower the hashrate but will avoid overheating the card and will avoid excessive wear of the fans.
6. Note that all options (-cclock, -mclock, -cvddc, -mvddc, -tt, -tmax, -fanmin, -fanmax, -powlim) can be applied either on all cards at once or for each card individually. For example you have five cards and want to specify different -fanmax for the first two, use something like this:
-fanmax 55,55,70,70,70 which will set the max fan to 55% for the first two cards and 70% for the other three cards.
7. The power consumption reported by the cards is not always accurate (sometimes it is off by a big amount), so you can calibrate it for more accurate results with the -pidle and -ppf options. PhoenixMiner calculates the total power as follows: P = Pidle + Pgpu * (Ppf / 100). PIdle is the idle power in Watts which is specified by -pidle option, and -ppf is the correction that is applied to the GPU reported power to get the real power.
For example, lets say that without specifying -pidle and -ppf, PhoenixMiner reports that all GPUs use 540 W. You get a power meter and use it to see the actual power consumption from the wall socket. Let's say it is 650 W. Then press
p in the miner console and wait a few minutes until all GPUs stop mining and power levels stop decreasing. Then again note the reported GPU power from PhoenixMiner (let's say it is 50W, and the power meter says 100W from the wall). Then calculate the difference between full power and idle according the power meter and divide it by the same difference as reported by PhoenixMiner. In our case this is (650 - 100) / (540 - 50) = 1.12 This means that your GPUs draw 12% more power from the wall than reported (this includes both inaccuracy in GPu power reporting and the efficiency of the PSUs). In this case you need to use
-ppf 112. In our case the appropriate -pidle value will be 100 - (50 * 1.12) = 44 W. So you use the options
-ppf 112 -pidle 44. Now PhoenixMiner will report idle total power consumption of 100W and under load 649W, which is much closer to reality and can be used as reasonably accurate figure without having a power meter connected to each rig.
As you may have different cards, you can also specify -ppf for each card individually but then the calibration will be longer, as you must calculate ppf for each card separately.
8. If you have calibrated the power reporting with proper -pidle and -ppf values as explained above, you can also also specify the cost of your electricity with the -prate option (in USD per kWh). If we use the previous example and your electricity cost is 0.11 USD per kWh, with the options
-ppf 112 -pidle 44 -prate 0.11, and with reported total power usage 649 W, PhoenixMiner will show you that you are paying approx 1.71 USD per day for electricity.
9. The -mt option is only for AMD GPUs and is intended as quick and dirty replacement of VBIOS modding. -mt 0 (the default) uses the VBIOS memory timings (which will be quite slow if the card is Polaris based and isn't modded), -mt 1 and -mt 2 are faster. Note that changing the -mt value while mining (by reloading config.txt with the
c key from miner console) often leads to crashes.
NOTE that properly modded VBIOS or carefully selected memory timings with AMD Memory Tweaker will always be better than using the -mt option.