r/LocalLLaMA · · 3 min read

DeepSeek V4 Flash | IQ3_XXS-AS & IQ2_S Bench | mainline b10064 vs fairydreaming | 1xRTX 3090 + 128GB DDR4 | 250PP/11TG on 50K CTX

Mirrored from r/LocalLLaMA for archival readability. Support the source by reading on the original site.

Hey all!

Wanted to see how DeepSeek V4 Flash GGUFs in two different quants perform on my hardware and share the results.

Tested two quants on the fairydreaming/llama.cpp dsv4 fork. As a bonus, I also ran the same model (IQ3_XXS-AS) on mainline llama.cpp b10064 just to check. TLDR: turns out the fork is pointless now!

Model

DeepSeek V4 Flash made by bullerwins:

  • DeepSeek-V4-Flash.IQ3_XXS-AS.gguf
  • DeepSeek-V4-Flash.IQ2_S.gguf

Hardware

Component Spec
CPU AMD Ryzen 5950X (16C/32T, 14 threads used)
RAM 128 GB DDR4 3600 MHz CL16 (dual channel)
GPU RTX 3090 24 GB
OS Win 11 Pro

Build Details

fairydreaming/llama.cpp (dsv4 branch)

-DGGML_CUDA=ON -DGGML_CUDA_FA_ALL_QUANTS=ON -DCMAKE_CUDA_ARCHITECTURES=native -DGGML_CCACHE=OFF -DGGML_NATIVE=ON -DCMAKE_BUILD_TYPE=Release -DLLAMA_OPENSSL=ON -DCMAKE_ASM_COMPILER=<nasm.exe>

Mainline llama.cpp (build b10064)

-DGGML_CUDA=ON -DGGML_NATIVE=ON -DGGML_CUDA_FA_ALL_QUANTS=ON -DCMAKE_CUDA_ARCHITECTURES=native -DCMAKE_BUILD_TYPE=Release -DCMAKE_ASM_COMPILER=<nasm.exe>

Launch Parameters (identical for all runs and models)

llama-server.exe ^ -m "model.gguf" ^ --chat-template-file "deepseek-ai-DeepSeek-V4.jinja" ^ --ctx-size 196608 ^ --jinja --metrics --perf ^ -np 1 ^ -ub 4096 -b 4096 ^ --no-kv-unified ^ --no-mmap ^ --flash-attn on ^ --cache-type-k q8_0 ^ --cache-type-v q8_0 ^ --temp 1.0 --top_k 40 --top_p 1.0 ^ --min-p 0.00 --repeat-penalty 1.0 --presence-penalty 0.0 ^ --threads 14 ^


Part 1: IQ3_XXS-AS vs IQ2_S on fairydreaming fork

Cold Start (first request, no cache)

Metric IQ3_XXS-AS IQ2_S
Prompt tokens 11,630 11,650
Prompt eval time 44.28 s 41.48 s
Prompt speed 262.66 tok/s 280.84 tok/s
Prompt ms/tok 3.81 ms 3.56 ms
Generation tokens 473 121
Generation time 41.42 s 8.97 s
Generation speed 11.42 tok/s 13.50 tok/s
Generation ms/tok 87.58 ms 74.09 ms
Total time 85.70 s 50.45 s
Total tokens 12,103 11,771
Graphs reused 464 120

Warm Request (cache hit, context reuse)

Metric IQ3_XXS-AS IQ2_S
Prompt tokens 40,840 51,150
Prompt eval time 161.37 s 201.33 s
Prompt speed 253.08 tok/s 254.06 tok/s
Prompt ms/tok 3.95 ms 3.94 ms
Generation tokens 2,639 1,671
Generation time 244.56 s 129.87 s
Generation speed 10.79 tok/s 12.87 tok/s
Generation ms/tok 92.67 ms 77.72 ms
Total time 405.93 s 331.20 s
Total tokens 43,479 52,821
Graphs reused 3,057 1,762
Slot total tokens 55,104 (no truncation) 64,466 (no truncation)

Quick Summary

Prompt processing: IQ2_S is slightly faster cold (+7%), but virtually identical warm (both ~254 tok/s). Prompt processing converges at larger contexts.

Generation: IQ2_S is consistently ~18-19% faster (13.50 vs 11.42 cold, 12.87 vs 10.79 warm).

My take: IQ3_XXS-AS is the real sweet spot. IQ2_S isn't faster at PP, yet the difference in quality is noticeable; TG isn't all that important.


Part 2: fairydreaming fork vs mainline b10064 (IQ3_XXS-AS)

After testing on the fork, I ran the same IQ3_XXS-AS model on mainline llama.cpp build b10064 with identical settings and task. Here's the comparison:

Cold Start

Metric dsv4 fork mainline b10064
Prompt speed 262.66 tok/s 227.38 tok/s
Generation speed 11.42 tok/s 11.88 tok/s

Warm Request

Metric dsv4 fork mainline b10064
Prompt speed 253.08 tok/s 251.50 tok/s
Generation speed 10.79 tok/s 11.11 tok/s

Quick Summary

Mainline is essentially identical - within 3-4% in both prompt and generation. There's no practical difference.


Bottom Line

The fairydreaming dsv4 fork is no longer needed. Mainline llama.cpp (build b10064+) handles DeepSeek V4 Flash just fine with identical performance. If you're building from source today, just use upstream.

Regarding quantization: I think bullerwins' GGUFs are currently the best available for this model and hardware. As for which quant to pick - IQ3_XXS-AS is the real sweet spot. 2-bit variants run at roughly the same token speed. If speed is the same and IQ3 gives you noticeably better quality, the lower quants aren't worth it.

Performance ceiling: The bottleneck here is likely system memory bandwidth and/or the CPU. During inference, the RTX 3090 consumes only ~150–200 W (with a TDP limit of around 375–400 W), so it still has some compute headroom. Maybe it’s worth buying a 5090 and offloading more layers to VRAM? Maybe I can get at least 500 PP and 25 TG?..


Anyway, hope this helps someone.

submitted by /u/CoplanarDimension
[link] [comments]

Discussion (0)

Sign in to join the discussion. Free account, 30 seconds — email code or GitHub.

Sign in →

No comments yet. Sign in and be the first to say something.

More from r/LocalLLaMA