The Miners Benchmark ProgPoW
End of Era, beginning of another.
As the new year rolls in all crypto miners are facing rough times right now. It’s in these rough times that we must keep vigilant on everything. What’s the next coin coming out? What’s the best mining software? Finally, most importantly, what coins are changing algorithms? How does that affect us as miners?
As everyone knows by now Ethereum,#2 in market cap, is set to change to new mining algorithm called ProgPoW sometime in the future. While it’s not certain, it seems likely, it’s best all Ethereum miners prepare. By this time most have heard about ProgPoW. So I won’t waste time on the politics here. However, the big question is on everyone’s mind how does AMD/Nvidia GPUs perform? It’s quite a massive change from Eth-hash to ProgPoW, so hashrates are non-transferrable. The whole game changes!
I made a fatal flaw by overlooking something. So my actual Hashrate results are actually lower than expected. The error? I was using Team-viewer(as you can see in the pictures) to remote in and conduct the testing. The flaw is that remoting in utilizes graphics resources resulting in lower hashrates. This just occurred to me when seeing higher hashrates re-testing some of my results while connected directly to a monitor. This affected both AMD and Nvidia cards I tested.
I will update my results once my re-testing is complete. Sorry all.
Edit: 3/3/19. Benchmarks have been updated. The difference wasn’t great from 0.3 to 0.5mh/s but still worth noting.
The Test Bench
1095T 6-core AMD Phenom II
12GB DDR3 RAM
ASUS CROSSHAIR IV FORMULA
160GB RAPTORS in raid 0
EVGA 450w Bronze
EVGA 650w Platinum
The GPUs tested
AMD RX480 8GB GDDR5 Reference design
XFX RX590 8GB GDDR5 Fatboy
EVGA GTX1070 8GB GDDR5 SC
PNY GTX1080TI 11GB GDDR5X Blower
Windows 10 v1809
Unfortunately, I did not have a great selection of GPUs available. It does showcase a variety of hardware that miners have (RX590=RX580). We can see how AMD’s famous RX series perform while getting an idea of Nvidia’s gamer tier cards. I did not have a GTX1060 6GB to test. Please keep in mind that the RX480 8GB and GTX1060 6GB are direct competitors. The GTX1070 is popular for both miners/gamers. While the GTX1080ti is the top dog. What about the RTX series you ask? I do have a RTX2080ti in my personal gaming rig, but typical miners do not have these. From my own testing RTX2080ti is the highest hashrate of any GPU for ProgPoW.
How I tested ProgPoW Performance
Each GPU was plugged in via 6-pin powered riser v008c. GPU+riser is completely separate from the system. This was powered with a platinum powersupply for best results. Wattage from GPU was taken from software readings including; Ethminer, GPU-Z, and NVinspector. Wattage (from wall) was measured by Wattmeter 120v/110amps. Do note in the charts below, wattage from wall measures differently from TDP of the card because idle wattage, which includes the PSU, Risers, and GPU. This is never going to be 100% accurate.
Andrea Lanfranchi’s Etherminer v18 alpha added ProgPoW. I self-compiled his miner from the master branch. Hashrate was measured via benchmark mode.
Update: I should mention used spec 0.9.2, A new spec has been released and is being tested, 0.9.3 "Knob-tuning”. I will be testing this to see if any gains are had by AMD GPUs.
ethminer.exe -M 7169430 -A progpow -diff 5 -HWMON 2
Block 7169430 was chosen to represent actual Ethereum block number to give a real-world simulation.
Aside: There is a Progminer, this is not the official miner and should not be used for testing. Additionally, Bitcoin Interest (BCI) uses a different version of ProgPoW. BCI ProgPoW is not the same as ETH-ProgPoW.
Notes on Testing
I encountered an overclocking bug with AMD drivers. By default, AMD sets profile states, called P-states, where the GPU responds to temperatures and workloads by increasing or decreasing core speeds. Using OverdriveNTool, I could not get them to stay set by locking the P-state. The core would move up/down regardless. Thus throwing off the stock hashrate results. I tried both 18.6.1(RX480) and 19.1.1(RX590/480) drivers then tried using Wattman tool, but no luck. The core speeds would only stick if I set the voltage to a certain point i.e I set voltage to Core 950mv/Memory 950mv then magically the core speeds would stay set. Nvidia’s did not suffer this issue, I’m quite unsure what in the AMD driver causes this. So for my testing results for AMD wattage at stock was taken, but Hashrate was only taken at with core clocks of 1266mhz (RX480) and 1550mhz (RX590).
While Nvidia did not suffer stock core drops resulting in hashrate drops, using MSI afterburner to control power % of TDP showed problems. The difference from 70% power and 80% was significant, with 70% power in ProgPow resulting in low power but far lower hashrate. Using power percent of 80–100% showed normal results for both the 1080ti and 1070. Because of this I used NVinspector and set voltages which locked the core. This gave me a set core speed and lower power compared to using MSI-afterburner. If you’re using Nvidia and thinking of testing ProgPoW, you must use NVinspector and set core speeds/voltage.
When looking at the charts below you’ll notice a fairly large disparity in wall vs software between AMD and Nvidia. This is because AMD simply doesn’t have circuitry to measure total board power on the RX 480/580. NVIDIA does on 700 series and newer. Refer to Buildzoid for more information on this, https://www.youtube.com/watch?v=ka6mptREMVY
Lessons on ProgPoW while benchmarking
Core clocks/Core count
Because ProgPoW uses more GPU core functions what we see is the number of cores and speed of cores matter. The law of diminishing returns it sometimes exaggerated by reducing core clocks too much in either AMD or Nvidia. Hence, while RX480 and RX590 are functionally the same GPU, just refined, the RX590s increased core speeds and better memory (Micron) allow it to surpass the RX480 at the cost of power consumption.
Observations on memory overclocking
ETH-Hash modified BIOs timings no longer apply for AMD GPUs. Using these BIOs can result in reduced hashrates. Using stock BIOs then and overclocking the memory in RX480 (Samsung) to 2200mhz (8.6Ghz) resulted in zero improvements, overclocking the memory on the RX590 (Micron) to 2250mhz(9Ghz) resulted in a 0.5mh/s increase. Same with Nvidia Increasing memory overclock on GTX1070 (Micron) to 4500mhz (9Ghz) resulted in hashrate increase of 0.5mh/s as well. Overclocking the memory on GTX1080ti, with its GDDR5X 352bit memory-bus and bandwidth, resulted in zero gains in hashrate. Additionally, I tried the ETH-PILL designed for GTX1080ti by same developers of ProgPoW. However, zero performance gains were noticed.
The perfect combination
According to IfDefElse team core speeds along with memory overclock are going to be important in ProgPow. Whereas in ETH-hash it was pure memory overclocking with the lowest core possible this changes in ProgPoW. As you’ll see later in the benchmarks, its all about a good balance between the core speed and memory speed.
Just like ETH-hash, AMD Compute mode must be turned on to see hashrate gains. Leaving them in graphics mode resulted in 2mh/s reduction.
There is no fine tuning needed here with Cuda-block-size or cl-local-work. I tried both cl-local-work=256, Cuda-block-size=512/256, and few other parameters but only saw decreases or no gains at all. Using the current version of Ethminer it’s safe to assume that AUTO is the best.
ProgPoW Stock Results
Core/Memory Clock Speeds
GTX1080ti- 1550/5500mhz GDDR5X
GTX1070- 1700/4000mhz GDDR5
RX590- 1550/2000mhz GDDR5
RX480- 1266/2000mhz GDDR5
The GPUs scale in a linear fashion, as expected. 1080ti takes top score, with GTX1070, then RX590 closely behind, followed by the trusty RX480. Power consumption wise, we’re looking at normal TDP of each card, 250w for the 1080ti, 150w for GTX1070, 225w for RX590, and 150w for RX480.
ProgPoW Optimized results
Trying to keep stock hashrates, what I tried to do was to maximize hashrate vs wattage. The results below are the best-achieved hashrate to the lowest amount of wattage that was stable for each card.
Core/Memory Clock Speeds
GTX1080ti- 1350/5500mhz GDDR5X
GTX1070- 1540/4500mhz GDDR5
RX590- 1450/2250mhz GDDR5
RX480- 1266/2000mhz GDDR5
As we can see, lowering voltages while keeping close to stock hashrates results in a reduction of the amount of power used per GPU significantly from stock. RX590 saw significant gains with 70w saved while retaining a 12mh/s speed. RX480 saw about 30w reduction. GTX1080ti saw about 50w reduction which is impressive given the Mh/s. GTX1070 saw a 30w reduction as well.
How low can we go?
What we can take away from this is the loss of a few mh/s results in the best power savings. Losing about 0.5mh for all cards, but the GTX1080ti. The GTX1080ti takes a few Mh/s drop due to the decreased core speeds.
Core/Memory Clock Speeds
GTX1080ti- 1250/5500mhz GDDR5X
GTX1070- 1400/4500mhz GDDR5
RX590- 1400/2250mhz GDDR5
RX480- 1200/2000mhz GDDR5
Miners take on it
Welp there goes my power savings!
I’m sure a lot of you, like me, heard about “massive power increases” using ProgPoW. That’s simply untrue. As you can see we can achieve power savings with only a few mh/s decrease in hashrate. These are not ETH-hash power numbers but depending on the GPU we’re looking at 15–25w increase in power consumption per card. AMD RX590 is the impressive one, keeping up with the GTX1070 in hashrate, but at the cost of power consumption.
For the legacy miners running RX480/470’s farms it’s not the end of the world. Considering only a 1.5mh/s~ difference between RX480 and RX590. I would safely say that ProgPoW is not going to effectively end AMD GPUs. Those who invested in higher end GPUs such as Vega’s or 1080ti will see better returns on their initial investment.
The key thing to remember that RX480/580 Eth-hashrate is 30mh/s and ProgPoW is 10mh/s. Meaning the entire network, which is mostly AMD, will decrease by 1/3, thus resulting in decreased difficulty.
There’s a lot of working going on behind the scenes to help ProgPoW. Unlike other Ethereum Developments, ProgPoW has not been funded by the Ethereum Foundation, it has been worked on and tested by all non-paid volunteers. A thank you to Danny Greerso for helping me compile the miner. A big thank you to Ethminer Dev, Andrea Lanfranchi, for adapting Ethminer for ProgPoW. Please support him! BTC/ETH Address below.
I run a small GPU farm out of my garage. I hold Ethereum and Bitcoin. I’m a big believer in the crypto space. All testing was conducted by me. I was not paid to do this and I created my own testing methods. I highly encourage all to test their own mining rigs to get a feel for tuning ProgPoW.