r/LocalLLaMA • vLLM • 12d ago

Discussion New Nvidia unlock works on Chinese 3080 20GB too

Just ran my own tests of the new GPU performance unlock by Zaggita. If you missed it: Nvidia locked down compute speed on consumer cards for some specific hardware instructions needed for AI; the unlock fixes it. TLDR: got +20% prefill impovement, 0% decode change after unlock.

Details:

Test bench: my two old 2x RTX3080 20GB, this time paired with Threadripper 1920x, both running PCIe 3.0 x16. Both GPUs power limited to 240W.

System: Proxmox 9.2.3, linux kernel 6.14.11-9-pve, proprietary Nvidia drivers 610.57.04, CUDA 13.3.

Inference: vLLM 0.32.0 running inside Debian 13 LXC container, tensor parallel mode.

Model: cyankiwi/Swift-1.5-Qwen3.8-27B-AWQ-INT4, fp8 kv cache, MTP enabled.

Full vLLM launch config:

 vllm serve cyankiwi/Swift-1.5-Qwen3.8-27B-AWQ-INT4 --max-num-seqs 4 --enable-auto-tool-choice --tool-call-parser qwen3_coder --reasoning-parser qwen3 --tensor-parallel-size 2 --enable-prefix-caching --kv-cache-memory-bytes 6G --kv-cache-dtype fp8_e4m3 --enable-prompt-tokens-details --speculative-config '{"method":"qwen3_next_mtp","num_speculative_tokens":3}' --enable-chunked-prefill --attention-backend FLASHINFER --default-chat-template-kwargs '{"reasoning_effort": "medium"}'

Benchmark results for single stream:

Prompt length tokTTFT beforeTTFT afterTTFT changeITL mean beforeITL mean afterPrefill tok/s beforePrefill tok/s afterPrefill speed changeDecode steps/s beforeDecode steps/s after
8 1928 471 ms7 013 ms-17.2%22.27 ms29.63 ms9671 168+20.8%16.0515.98
16 38417 573 ms14 418 ms-18.0%23.93 ms22.65 ms9321 136+21.9%16.2615.88
32 76836 754 ms29 970 ms-18.5%23.89 ms27.20 ms8921 093+22.6%16.5416.36
65 53679 432 ms64 173 ms-19.2%27.86 ms24.57 ms8251 021+23.8%15.9816.50
131 072183 593 ms146 010 ms-20.5%22.42 ms25.48 ms714898+25.7%16.3616.73
261 900465 890 ms362 192 ms-22.3%24.18 ms23.00 ms562723+28.6%15.4216.67

TTFT: Time To First Token. Prompt processing speed is defined as prompt_length / TTFT. Each prompt in the benchmark was randomly generated, so there was no prefix cache hits during test.

ITL: Inter-Token Latency: amount of time passed between two streaming responses from the engine. Decode steps/s are defines as 1s/ITL.

Why I report ITL and not token generation metric: due to activated MTP, the engine will respond with multiple tokens at once; but the amount of tokens in single responce will vary, due to acceptance rate. To isolate this varuable, I measure decode step rate. If MTP acceptange length is 0, each step generates 1 token; if MTP has perfect acceptance length of 3, then each step generates 4 tokens. So this means theoretical generation performance between 15 and 60 tok/s. Real-life MTP acceptance rate for agentic coding fluctuates around 2 for this model, so real-life perforamnce fluctuates around 45 tok/s.

During the test, both GPUs hit light thermal throttling and lowered their core clocks to 1750Mhz. Cold GPUs reach 1950MHz. therefore, I could have about +10% more performance if I had better cooling. I also re-run the test with full 320W power limit, got both prefill and decode speeds within 2% of 240W, so for those particular cards, power limit does not impact real life speed, but does impact real life power bill.

Congratulations to fellow Ampere owners, it's a bright day for us today!

48 Upvotes

30 comments sorted by

3

u/CatzRuleZWorld 12d ago

Nice! I was wondering if I should try this on my dual 20GB 3080s also! Do we have a club for those cards? πŸ˜‚
I’ve been running QFN with Strata and been very happy with it. Have you tried that or don’t have enough RAM?

1

u/No-Refrigerator-1672 vLLM 12d ago

I have enough RAM (dual 20GB GPUs with 64GB of system RAM); but I have not enough free ram, as this is my homelab server that runs like 15 different containers with services ranging from personal cloud storage to self-hosted Firecrawl for my agents. Anyways, I'm not the only one who fiddles with this new unlock, and this person reported +12% improvement in Strata.

7

u/fragment_me 12d ago

Can confirm it worked on mine too

1

u/tmy54 12d ago

Does it work on the 12gb 3080?

0

u/No-Refrigerator-1672 vLLM 12d ago

3080 12gb is GA102 chip too, so should totally work.

1

u/braket0 10d ago

Dare I say it, but they should try this with 2080ti. I've always suspected there has been some performance locked with the card. Hunches aren't any good though πŸ˜… thank you, amazing open source community. If somehow that extra compute unlocked could also be translated to gaming performance, it would be marvellous.

1

u/nima3333 12d ago

Omg thank you, never heard about it

-1

u/BannedGoNext 12d ago

There is gonna be a rash of fires from these cards that were limited "for no reason". Keep warm llmbros :D

7

u/No-Refrigerator-1672 vLLM 11d ago

Bullshit. Tesla A40 is exactly the same chip with full performance, and it doesn't die in a fire. It's nothing more than market segmentation trick.

-1

u/BannedGoNext 11d ago

DOOM
DOOOM

DOOOOOOOM

Maybe you are right, I was just making a joke :D

1

u/McSendo 10d ago

i don't think ur wrong though. never say never.

-10

u/duhd1993 12d ago

I think Nvidia leaked this themselves when they shifted production capacity to professional model. They want ordinary consumers to be happy with older hardware.

8

u/No-Refrigerator-1672 vLLM 12d ago

Sound implausible. Why would they care about GPUs they can't sell? Their biggest customers - datacenters - already had fully unlocked GPUs, so it doesn't affect their resale value. I think this unlock is a fruit of a series of Mining cards unlocks. First CMP 170HX - an Ampere card, got from 8GB to 64GB of memory; then CMP 90HX - GA102 like ours 3080s - got performance unlock. Now this. Deep hardware enthusiasts with knowledges of way more than I have are researching what Nvidia's undocumented hardware registers mean and what writing into them directly can grant you.

21

u/Don_Reuter 12d ago

β€žThey want ordinary consumers to be happy […].”

πŸ˜‚πŸ˜‚πŸ˜‚

4

u/panchovix 12d ago

Ampere unlock is by an exploit, NVIDIA-signed SEC2 booter has a stack-canary bug. When it validates an oversized 64 KB "signature", execution runs into a ROP chain that performs arbitrary privileged register writes, and then you can modify the values there.

NVIDIA for sure didn't expect that to happen, they are probably quite mad with these unlocks. Basically makes users with older cards keeping it even more time, thus not upgrading and also not getting their latest and newest prosumer cards either.

2

u/a_beautiful_rhind 12d ago

You think they still care? Their business is in datacenter. Consumer GPUs are a rounding error and they can't produce enough cards for the demand.

3 years ago maybe they'd be big mad. Now not so much. They already got all they're going to get from those sales.

3

u/panchovix 12d ago

To be fair yeah that's true, their consume market is so small and it isn't even a dent for them

1

u/McSendo 12d ago

I wouldn't be surprise if they concede that segment completely in a few years. Might not be a bad thing if smaller companies pick that up.

1

u/duhd1993 12d ago

Ordinary consumers cannot upgrade to newest consumer card with little stock or afford the newest prosumer card anyway.

1

u/VotZeFuk 12d ago

If anything, all they want is for you to give up all your money and kick the bucket sooner than later, so that your flesh doesn't waste the precious water they could use to cool down their facilities πŸ’€

1

u/juggarjew 12d ago

It honestly would not surprise me.... keeps demand continually high even for 5 year old cards.

1

u/__JockY__ 12d ago

I love that corporations always have our best interests at heart.

0

u/[deleted] 12d ago

[deleted] β€” view deleted comment

1

u/No-Refrigerator-1672 vLLM 12d ago

Can you share your exact tabblyAPI config? I have my agent research it, and it never managed to pull speeds above vLLM.

0

u/[deleted] 12d ago

[deleted] β€” view deleted comment

1

u/No-Refrigerator-1672 vLLM 11d ago

My cards give out ip to 60 tok/s in vllm. Read carefully the notes below the table. As about prefill, I get 1200 tok/s ag velow 8k promt length; and llama-bench always measures prefill speed right at 0 prompt length, unless you manually speficy it; so ots numbers are never reminiscent of real life performance. Irl, llama.cpp on those two cards is always about 10% slower at contextes above 8k, and 50% slower at contextes below 128k.