Strange 3090 GPU hashrate underperformance fixed by a Zotac bios update

I had a pair of underperforming 3090’s sharing the rig with a pair of ArcticStorms. Turns out a bios update fixed it, but not for the reasons you’d expect.

Zotac ArcticStorm 3090

Mining can cause some serious conundrums. On this rig, I have 3 Zotac 3090 cards. A pair of Arcticstorm 3090’s, (the water-cooled version). The third is a Zotac Gaming GeForce RTX 3090 Trinity OC and a 3090 FE.

The Arcticstorms perform way better. In fact, about 10% in hash rate than the Trinity, and no matter what I tried, simply couldn’t get the slower one to budge after days of fiddling with Afterburner. It was the laziest 3090 I’ve ever had to deal with! Not to mention the 3090 Founder’s Edition which underperforms

From top to bottom in Nicehash: Zotac Arcticstorm,  Zotac Arcticstorm, 3090 FE, Zotac Trinity OC, RTX 2080 ti
From top to bottom: Zotac Arcticstorm, Zotac Arcticstorm, 3090 FE, Zotac Trinity OC, RTX 2080 ti

I initially suspected it was a bios version problem:

1) Faster card: Zotac GAMING GeForce RTX 3090 Arcticstorm running bios


2) Slower card: ZOTAC GAMING GeForce RTX 3090 Trinity OC running bios

Whatever OC settings I played with on the RTX Trinity OC I always hit a ceiling in terms of hash rate performance. The Arcticstorms would sit happily at 121mh/s all day long, with the Trinity OC I’m lucky to hit 110mh!

Temperatures were all fine. VRAM at 79/80 and GPU 37, the perf cap reason in GPU-Z is power. The difference is easy to see in GPU-Z’s advanced tab: the Power Limit.

The ArcticStorm has a max power of 120% (Power limit > Current)
The ArcticStorm has a max power of 120% (Power limit > Current)

The Arcticstorm was running at 120% which is what I thought might be making the majority of the difference because the Trinity OC’s max power limit is 110%:

 Trinity OC's max power limit is 110%
Trinity OC’s max power limit is 110%

Test: Flash the Trinity with the ArcticStorm Bios

Physically, the two Zotac cards are precisely the same. It’s just that there were limitations on the maximum memory clock and power limit on the Trinity. Perhaps the manufacturer wanted the water-cooled card to clearly outperform the air-cooled variant? So, I thought: the ArcticStorm’s will fix this problem. That was the hypothesis at least.

Using the Nvflash –list command to determine what number each adapter has been assigned

As many of you will know, the easiest way to save and flash bios is using NVflash. So, using the command below I saved the rom from the Arcticstorm.

c:\nvflash>nvflash64 --index=4 --save=GA102.rom

And to upload the bios to the Trinity:

c:\nvflash>nvflash64 --index=1 -6 GA102.rom 

Did that work? Nope. Everything *looked* OK in GPU-Z but the hashrate didn’t improve

I suppose this just goes to show; 3090 reference boards are extremely similar, if not the same – especially from the same manufacturer. But perhaps something else was causing the problem?

Test: Flash the Trinity with Gigabyte bios

Yes, I flashed my Trinity OC with the bios from the Gigabyte RTX 3090 24 GB (GAMING OC). That was thanks chiefly to this reddit user who had reported some success with his.

3090 Trinity on the Gigabyte BIOS (source)

The bios flash worked, the card worked, but still the same hashrate.

Test: Use the Zotac Updater?!

Maybe, I thought, Zotac have a fix for this problem they haven’t mentioned.

I saw on Reddit (and can’t firnd for the life of me the OP) that someone mentioned the resizeable Bar update improved the performance of his Trinity. *I know* this shouldn’t help hashrate, but I the updater (download here) anyway.

Latest bios updater for Zotac 3090’s can be found here

Here goes:

Zotac’s updater (it’s NVflash running from a Script, I think)

The updater ran 3 times, and the it reboots your PC for you. These downloadable updaters work on the assumption you might not have disabled your GPU before flashing the bios, something I’ve always thought it wise to do before starting a bios update.

The mystery: All cards now hashing at full pace but have magically become Trinity OCs

So that worked. It even affected the Founder’s Edition hashrate which *must not* mean this is entirely a bios issue:

And here we are in Nicehash:

I’m struggling to understand fully what’s going on here. Note that the last two 3090’s are running on 138w (I don’t believe that) and are hashing at an efficiency of 0.88MH/J. No chance!

The two 3090’s at the top (both ArcticStorms) run 3xPCI-E power sockets each, and are powered by a separate 1000w PSU to the bottom pair.

They run on an Asrock H510 BTC+ board, which allows you to power 4 of the 6 PCI-E slors separately, from 6 pin PCI-E to Molex connectors (molex on the board side, PCI-e on the PSU *yes* they are powered on separate rails).

As far as GPU-Z is concerned, all of the Zotac Cards are now the same device ID:

The three Zotac cards all regsiter as Zotac RTX 3090 24 GB BIOS (link)

The miner in me says this is great – the rig is behaving nicely and I shouldn’t worry. But my inner nerd needs to understand what’s going on here!

I draw your attenction to my point earlier that I’d seen power as a reason for PerfCap in GPU-Z. Without changing any of the setup that PerfCap reason has now changed to Idle on the Zotac cards:

The 3090 Founder’s Edition simply reports “none”.

The ArcticStorms now max at 100%

Could it be that the power draw of an ArcticStorm was affecting devices powered by a separate PSU?

Leave a comment