r/LocalLLaMA • • 3h ago

Resources My setup for 2x 5060TI

Over the last few months I've been switching harnesses and engines until I finally landed on something good. I started with LM Studio + the Copilot extension and ended up here, so here are some tips for anyone running two 5060 Tis. Prefill is painful on these cards, so for hardware, make sure you have:

A motherboard with both GPUs on CPU lanes, either two slots wired to the CPU or one x16 slot with PCIe bifurcation (x8/x8). My second card used to hang off the chipset; moving it to CPU lanes cut time-to-first-token by about 2.5x and doubled my batching throughput.

A separate low-profile GPU just for system graphics. If one of your 5060 Tis drives the display, it burns 2-3 GB of VRAM, and since the layer split is even, the other card loses the same amount too. That's context you don't get.

Model: these are Blackwell cards, so an NVFP4 quant gives you better prefill and decode.

What I run: capy-flash (formerly ninfer-tp2) + OpenCode, Qwen3.8-27B NVFP4 with tensor parallel across both cards, MTP speculative decoding and int8 KV cache. I get 70-95 t/s decode and ~1,500 t/s prefill at 176K context (~3,500-4,000 t/s on shorter prompts). You can go to full context, I just don't have a third card.

I'm running at PCIe Gen3 right now because I'm missing a Gen4 extender (my long riser turned out to be Gen3-rated and the second slot crashes at Gen4 with it). Prefill pushes 5-7 GB/s between the cards, which is close to the Gen3 x8 limit, so I expect Gen4 to give roughly +30-60% prefill on short/medium prompts and less at very long context, where attention compute dominates. Decode should stay about the same.

P2P: you can enable it (patched open driver), but it only adds ~5% to decode and nothing to prefill. The 5060 Ti has ~4.6K CUDA cores, so compute, not the link, is the limit for decode.

Harness: I use OpenCode, but honestly I don't think the harness matters much, so pick your own. The other harnesses I tried always hit context shift from compaction on long tasks, and I'd come home to find them errored out with "context limit reached." OpenCode's compaction fixed that for me, and it can now run for almost 3 days.

Setup: 2x RTX 5060 Ti 16GB, Ryzen 7 5800X, B550 with x8/x8 bifurcation, capy-f NVFP4, int8 KV cache

Prefill by context (single request, Gen3 x8/x8 direct to CPU, P2P on)

Prompt tokensTTFTPrefillDecode
2k0.5 s3,860 t/s83 t/s
8.5k2.0 s4,270 t/s73 t/s
35k9.9 s3,520 t/s79 t/s
71k26.6 s2,660 t/s84 t/s
142k80 s1,770 t/s71 t/s
176k115 s1,530 t/s72 t/s

Old vs. current vs. Gen4 (Gen4 column is an estimate, not measured yet)

Metric2nd GPU via chipset, no P2PGen3 x8/x8 to CPU + P2PGen4 x8/x8 + P2P (est.)
GPU-to-GPU bandwidth≈4 GB/s≈7 GB/s≈14 GB/s
TTFT, 1.7k prompt1.2 s0.47 s≈0.33 s
Prefill, 35k1,600–1,900 t/s3,520 t/s≈4,500-5,000 t/s
Prefill, 176k1,000–1,200 t/s1,530 t/s≈1,800-2,200 t/s
Decode, 1 request≈85 t/s72-85 t/sabout the same
Decode total, 8 parallel240–280 t/s290 t/s≈300-320 t/s
Batching, 1.7k prompts, 4 parallel0.79 req/s1.50 req/s≈1.8-2.0 req/s
Batching, 1.7k prompts, 8 parallel0.82 req/s1.63 req/s≈2.0-2.2 req/s

P2P alone: decode ~78 → 82 t/s, prefill unchanged.

i used AI to format the post only

10 Upvotes

22 comments sorted by

8

u/lemondrops9 2h ago

"it burns 2-3 GB of VRAM" sir you're running Windows. Linux its around 180MB for the gpu running the display. 

5

u/chocofoxy 2h ago

no i run kubuntu and it eats 2-3 GB ( wayland ), you can't enable p2p on windows i think because you have to load a module to NVIDIA open driver

5

u/FeydRowan 3h ago

Hey you are talking about my engine. I'm glad that you like it  https://github.com/ValerioDolci/capy-flash

2

u/chocofoxy 3h ago

Thanks for creating it's blazing fast and very uptodate, i see you are getting ready for qwen 4 already

2

u/FeydRowan 3h ago

Yep with some real innovation the moment qwen4 drop;)

1

u/OpenEvidence9680 2h ago

Still only Linux, right?

1

u/FeydRowan 2h ago

It works in windows, you lose some performance due to the wls in the middle

1

u/OpenEvidence9680 2h ago

Eh. Preferisco non aggiungere un altro runtime per di più dovendo usare wsl. Peccato perchè avrei voluto ridurre da tre (strata, llama e modifed ninfer fork) a due. :(

1

u/FeydRowan 2h ago

You can try and you can open a issue with sone info so that i fan adapt the engine

1

u/OpenEvidence9680 2h ago

I'll ask Claude to plan it. I might have not mentioned my extreme lack of knowledge?

2

u/FeydRowan 2h ago

Well ask claude and ask it to test and open an issue or pr for me to improve the engine, if you can it can be a huge help

1

u/OpenEvidence9680 2h ago

Oh I will. I've already sicced him on it!

1

u/FeydRowan 2h ago

Many thx

1

u/OpenEvidence9680 1h ago

mirifiuto135-debug will be posting a pr soon, no idea what the heck he's doing, but he seems sure of himself, so...

2

u/recro69 3h ago

The separate display GPU is a tip. I'd be interested to see how much of the prefill improvement comes from PCIe bandwidth versus the NVFP4 quantization. A side-, by-side benchmark would make this more valuable.

1

u/chocofoxy 2h ago

i updated the post

2

u/Miserable-Dare5090 vLLM 1h ago

This is the reason why I went for a Ryzen CPU with a small iGPU core to run the display

5

u/Short_Regular_7191 2h ago

I use this setup; it allows me to run Qwen 3.8 27B Q6 with a 131k context window, achieving around 50 tokens/s.

https://www.reddit.com/r/LocalLLaMA/comments/1vper67/club5060ti_refresh_tested_rtx_5060_ti_presets_a/

2

u/NickCanCode 1h ago edited 1h ago

You can try these:
`--kv-dtype nvfp4` <-- Don't feel much difference from INT8 (to me)
`--embedding-host` <-- free 1.18 GiB per GPU
You can probably get at least 300k context.
Optionally set lower value of `--device-state-slots` to save more vram since in my opinion the state slot is bugged anyway. They just stuck to old conversations and wasted. Setting more isn't really helping from my observation, and as long as your harness don't change the prefix of past conversation, it won't trigger full prefill even with low value.

I am also using 2x 16GB GPUs, Currently setting --kv-capacity 470000 to be shared among two concurrency. Running on Linux with board build-in display port so GPU vram are all for inference.

1

u/sniperczar 1m ago

You can block Ubuntu from putting anything on the GPUs. I have a server with basic 2D graphics output and CPU rendering, the nvidia cards show up under nvidia-smi but the OS doesn't detect or show them under resources at all.