I have twelve of these cards, 7950/7970/280/280x. Fantastic workhorses.
They just became unprofitable for me though due to high electricity price right now. I have some tips and questions for you Tahiti owners. Perhaps we can make them profitable once again?
Tips
Monero miningMine algorithms that have low power usage, like Monero.
I get around
750-810 h/s on these cards on Monero v7 with good undervolt. A short test for highest speed hit above 850 h/s but efficiency was not as good. Here are the hard details for my rig.
Room temp: 36 C!
Core: 980-1060 MHz at 956-1020 mV.
Mem: 11 cards at 1500 MHz, one at 1575. All with mining timings. Two have a bit looser timings than the others.
Power usage: 1780 Watt for the whole rig, estimate 140 Watt per card. This is from the 240 Volt side. PSUs are roughly 93% efficient at this load.
OS: HiveOS with export of env vars to make miners start on 280x (and increase max utilization on Polaris).
Run two threads per GPUI could not get Claymore Cryptonight to run on this rig. In SGminer all you need is to add "threads": "2" to the config. For XMR-stak, copy the config for each gpu (two entries on the same index) and halve the intensity per thread. This helps quite a bit, perhaps 10-15% or so.
Worksize of 6 is typically better for 7970/280x, and worksize of 8 is typically better for 7950/280. Perhaps just on my cards.
sgminer-gm, latest:
"rawintensity": "744"
"gpu-threads": "2"
"worksize": "6,6,8,6,6,6,6,8,8,6,8,6"
"autofan": false
"noadl": true
"monero": true
XMR-stak fire-ice, latest:
"gpu_threads_conf" : [
{ "index" : 0, "intensity" : 744, "worksize" : 6, "affine_to_cpu" : false,
"strided_index" : 2, "mem_chunk" : 2, "comp_mode" : false
},
{ "index" : 0, "intensity" : 744, "worksize" : 6, "affine_to_cpu" : false,
"strided_index" : 2, "mem_chunk" : 2, "comp_mode" : false
},
{ "index" : 1, "intensity" : 744, "worksize" : 6, "affine_to_cpu" : false,
"strided_index" : 2, "mem_chunk" : 2, "comp_mode" : false
},
{ "index" : 1, "intensity" : 744, "worksize" : 6, "affine_to_cpu" : false,
"strided_index" : 2, "mem_chunk" : 2, "comp_mode" : false
},
...
Optimize mining timingsThis helps an additional 10-15% or so since mem latency is reduced. Helps more on Hynix MFR since those stock timings are quite bad. Stock Hynix AFR is good and Elpida is right in between AFR and MFR. With mining timings all cards perform slightly better than stock AFR timings do.
If you're lucky you can get a hold of a Stilt or an Anoraks mining bios for your card. Those already have mining memory timings and likely also VRM switching frequency mod to reduce power usage a bit. Anorak has a guide on how to modify the memory timings using a hex editor:
https://anorak.tech/community/t/anoraks-amd-vbios-hex-modification-tutorial/126/7The timings I use are listed here:
https://bitcointalk.org/index.php?topic=1676474.0;allPerhaps the timings could be improved further, the FAW and FAW32 values are not zero, but that might work. Ohgodadecodetool can be used to decode the strap into separate timings. Nerdralph's "strapmod.py" should apply 0 to those timings as well.
Use the heatIf you live in a cold climate like me - use a heat pump. Mine sucks hot air from the rig, heats water in a tank for hot water and house heating, then blow the colder air either outside or back into the room. Where the colder air goes depends on outdoor temp but I have to manually switch where the air goes so I only do it with the seasons.
Questions
Optimize VRM switching frequency?No VRM is perfectly efficient. Lowering VRM switching frequency lowers heat loss and that in turn improves efficiency further. "Actually Hardcore Overclocking
" on Youtube has an excellent video on VRMs and equations to calculate max power, heatloss, as well as how mosfets ans VRM work.
Fewer phases usually means higher efficiency and lower power limit (a limit we don't care about really since we're undervolting).
I think Stilt's mining bioses include a reduced VRM switching frequency from the default of 500 KHz to 290 KHz but I'm not sure. I also think that only ASUS Matrix gpus includes the data in the bios to set the frequency - all other cards use the default. It is probably possible to add the data needed in the bios for the registers that needs to be changed. I think it's register 22 or 23, as that is what I've seen for newer generations.
Lower switching frequency could result in lower stable clocks due to increased voltage ripple (the now bigger voltage dips could cause crashes). That might be something we could combat by adding capacitors to the filtering stage of the VRMs, but capacitors reduce efficiency. Don't know how to calculate what would happen here.
1. Does anyone know how to modify VRM switching frequency on non-matrix cards?
2. How much lower can power usage go thanks to that?
VRM Phase sheddingNewer gen cards (Polaris?) can turn off one or more VRM phases when load is low - this typically increases efficiency.
3. Could we shed VRM phases on the Tahitis too? In BIOS or by physically altering the VRM controller?
Load Line CalibrationI think it would be possible to undervolt a bit more if load line calibration was off, but I don't know how to turn it off in the BIOS. The rationale is that LLC sometimes is too slow to compensate vdroop causing a hang. LLC off would need a higher bios voltage, but it would droop down to the voltage we want instead of being dynamically compensated up to that voltage. There is plenty to read about LLC and vdroop on the net. Will dig out a link eventually.
4. Can LLC be disabled in BIOS?
Physically disabling unused chips5. Can we disable chips we don't use? In BIOS or in hardware? The displayport and HDMI controller comes to mind. Would be hard to sell the card to gamers afterwards...
Future ideas
A) Frankenstein techAcornsThe memory bandwidth on the Tahitis is massive, higher than on Polaris really (Polaris is often memory bandwidth constrained). The Tahitis seem to be mostly core constrained. Acorns could perhaps let us improve hashrate by quite a bit without increasing power usage very much.
Combine with more efficient gpusPerhaps we could offload calculations from the Tahitis onto other gpus that are not core constrained. That is - we offload one or more steps in the algorithm to other gpus that have more power efficient cores such as Vega/Polaris or even Pascal really. Requires a whole lot of mobos though to support the bndwidth requirments to move data around on the bus... Would require a new generation of miners similar to Squirrelminer.
External VRMDesign an exgernal VRM that can supply say 956 mV to 12 gpus with very high efficiency. Probably way way too expensive.
B) Design a new PoW algorithm tailored for TahitiThe 384-bit wide bus could ve used to read/write data in 1 cycle where a 256-bit bus would require 2 cycles. This should make Tahitis more efficient than Polaris for example.
The Tahitis have strong double precision compute power? This could perhaps be used to compete more efficiently?
Getting a popular coin to use that algorithm would be hard.
Building a "Tahiti Appreciation Coin" seems equally difficult.
Links
79xx & 280 VBIOS Optimization Index (Read the Comments sheet too)
https://docs.google.com/spreadsheets/d/1odJXgWbHUcIS9fAxaXB-nPD8WWH1sBdd_XBOe3F3jo0/edit#gid=0Archive of Stilts bioses?
https://drive.google.com/drive/u/0/folders/0B2XVfIhkHZlfMTM0c1k0VDRERmcInfo on VRM switching frequency mod on the R9 290 (can it be done to the Tahiti too?)
https://www.overclock.net/photopost/data/1381417/4/49/49a792ea_guide.jpeghttps://www.overclock.net/forum/70-ati-drivers-overclocking-software/1605757-vrmtool-simple-tool-read-write-i2c-vrm-controllers.htmlVRM info by Actually Hardcore Overclocking
https://www.youtube.com/watch?v=oDRHV3qtSWc&list=LLIxXaFjGhxoPbyEhvUKcTNA&index=3&t=0s
Don't have more ideas right now. Would be fun to revive these beasts once more.
Let me know if the miner settings improved your hashrate.
If you can't find a bios by the Stilt or Anorak and don't feel comfortable applying the timings yourself I can do the mod for some hashrate donation to the pool+address I mine to.