# Qwen3.8 27B GSQ-RCO on RX 6800M: IQ2_XS vs IQ3_S – VelsTech Lab

> Tested Qwen3.8 27B GSQ-RCO on a 12 GB RX 6800M – IQ2_XS decodes 20.8 tok/s with 52K context at 90% VRAM, while IQ3_S wins prompt eval but gets stuck at 4K context because --fit aborted on a manual -ngl.

*Source: https://velstech.net/qwen38-27b-gsq-rco-rx6800m.hi (Hindi translation of https://velstech.net/qwen38-27b-gsq-rco-rx6800m) · Updated: 2026-09-05*

*Markdown version. [Read the interactive guide](https://velstech.net/qwen38-27b-gsq-rco-rx6800m.hi). English Markdown: https://velstech.net/qwen38-27b-gsq-rco-rx6800m.md.*

---

🧪 VelsTech Lab क्या 12 GB mobile GPU पर 27B dense model चलाना असल में काम कर सकता है? मैंने **Qwen3.8 27B GSQ-RCO** के दो quants – `IQ2_XS` (MTP draft head के साथ) और `IQ3_S` – को RX 6800M पर साथ-साथ चलाया। कौन-सा quant चुनना है यह तय करता है कि आपको कितना context और कितनी speed मिलेगी – और llama.cpp का एक flag गलती ने IQ3_S run से चुपचाप 92% context छीन लिया।

🔧 पहले अपना fit खुद चेक करें

[LLM VRAM Calculator](https://velstech.net/llm-vram-calculator.hi) – क्या आपकी VRAM में 27B IQ2/IQ3 + आपका context फिट होगा? · [GPU AI Performance Calculator](https://velstech.net/gpu-ai-calculator.hi) – चलाने से पहले कितने tok/s मिलेंगे, अनुमान लगाएँ।

[कैलकुलेटर खोलें →](https://velstech.net/llm-vram-calculator.hi)

## टेस्ट मशीन

- Machine: ASUS ROG Strix G513QY · Ryzen 9 5900HX (8C/16T) · AMD RX 6800M 12GB (RDNA2, mobile) · 32 GB RAM · 2 TB NVMe

- OS: Ubuntu 26.04.1 LTS (Wayland) · ROCm · llama.cpp (current build – flags और benchmark reading के लिए llama.cpp guide देखें), n_threads=8

- Model A: Qwen3.8-27B-GSQ-RCO-IQ2_XS-mtp.gguf – 27B dense, ~2 bpw i-quants, block-64 MTP draft head के साथ

- Model B: Qwen3.8-27B-GSQ-RCO-IQ3_S.gguf – वही model, ~3 bpw, draft head नहीं

- दोनों runs: -ngl 999 --cache-type-k q8_0 --cache-type-v q8_0 -fa on --fit on --reasoning-preserve --jinja

![System details पैनल: ASUS ROG Strix G513QY, Ryzen 9 5900HX, 32 GB RAM, AMD Radeon RX 6800M, Ubuntu 26.04](img/qwen38-27b-gsq-rco/rig.webp)
टेस्ट मशीन – 12 GB RDNA2 mobile GPU वाला 2021 का गेमिंग लैपटॉप।

## कैसे चलाया

### Run 1 – IQ2_XS (MTP tensors के साथ)

```
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
llama-server \
 -m /home/user-name/models/Qwen3.8-27B-GSQ-RCO-IQ2_XS-mtp.gguf \
 -ngl 999 \
 --cache-type-k q8_0 \
 --cache-type-v q8_0 \
 -fa on \
 --fit on \
 --reasoning-preserve \
 --jinja
```

### Run 2 – IQ3_S

```
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
llama-server \
 -m /home/user-name/models/Qwen3.8-27B-GSQ-RCO-IQ3_S.gguf \
 -ngl 999 \
 --cache-type-k q8_0 \
 --cache-type-v q8_0 \
 -fa on \
 --fit on \
 --reasoning-preserve \
 --jinja
```

## नतीजे

```
Metric               IQ2_XS-mtp          IQ3_S           Delta
──────────────────────────────────────────────────────────────
Decode (eval)        20.77 tok/s         18.97 tok/s     +9.5%
Decode (tg)          20.70 tok/s         18.93 tok/s     +9.4%
Prompt eval          113.51 tok/s        178.32 tok/s    -36%  (IQ3_S तेज़)
Context fitted       52,736 tok          4,096 tok       12.9×
VRAM used            11.57 / 12.87 GB    12.52 / 12.87 GB
                     (90%)               (97%)
Graphs reused        124                 252
Chat UI avg speed    20.9 t/s            19.0 t/s
```

**मुख्य बात:** IQ2_XS ने decode जीती – वो भी *13× ज़्यादा context* लेकर – और बड़ा KV cache decode को धीमा करता है, तेज़ नहीं, तो ये जीत असली है। IQ3_S प्रति token ज़्यादा bytes पढ़ता है (~3 bpw vs ~2 bpw) और ये कार्ड bandwidth-bound है; यही अंतर ~1.8 tok/s बनकर दिखता है। असली सरप्राइज़ prompt eval है: IQ3_S इनपुट **57% तेज़** प्रोसेस करता है (178 vs 114 tok/s) – 2 bpw वाले i-quants को compute-bound prompt pass में भारी dequant/codebook खर्च देना पड़ता है, जबकि bandwidth-bound decode में रैंकिंग पलट जाती है।

## प्रूफ – chat runs

![llama.cpp chat UI में IQ2_XS model का परिचय, 52.74K में से 498 context इस्तेमाल, औसत speed 20.9 tokens प्रति सेकंड](img/qwen38-27b-gsq-rco/chat-iq2xs.webp)
IQ2_XS: 498 / 52.74K context इस्तेमाल, chat UI में 20.9 t/s औसत।

![llama.cpp chat UI में IQ3_S model का परिचय, 4.10K में से 711 context इस्तेमाल (17 प्रतिशत), औसत speed 19.0 tokens प्रति सेकंड](img/qwen38-27b-gsq-rco/chat-iq3s.webp)
IQ3_S: जवाब लंबा आया, पर भरे जाने को context सिर्फ 4.10K था – 19.0 t/s।

## VRAM – चुपचाप सबसे बड़ी बात

![GPU मॉनिटर: AMD Radeon RX 6800M वीडियो मेमोरी 11.57 / 12.87 GB, 90 प्रतिशत](img/qwen38-27b-gsq-rco/vram-iq2xs.webp)
90% VRAM पर IQ2_XS – weights प्लस 52K q8_0 KV cache, ~1.3 GB जगह बची।

![GPU मॉनिटर: AMD Radeon RX 6800M वीडियो मेमोरी 12.52 / 12.87 GB, 97 प्रतिशत](img/qwen38-27b-gsq-rco/vram-iq3s.webp)
सिर्फ डिफ़ॉल्ट 4K context के साथ भी IQ3_S 97% VRAM पर – weights ही कार्ड भर देते हैं।

## लॉग्स ने क्या कहा – और क्या टूटा

- Run 2: W common_fit_params: failed to fit params to free device memory: n_gpu_layers already set by user to 999, abort – --fit खुद -ngl और context तय करना चाहता है; हाथ से -ngl 999 फ़ोर्स करने पर वो मान ही जाता है, इसलिए IQ3_S डिफ़ॉल्ट 4096-token context पर रुक गया। (नीचे follow-up में दिखता है कि -ngl हटाना इस model पर असल में और बुरा है – इसे फ़ोर्स करके ही रखें।)

- Run 1: पंद्रह W model has unused tensor blk.64.* लाइनें – पूरा extra transformer block (attention + FFN + nextn.* MTP head, ~348 MB) ignore हो गया क्योंकि --spec-type draft-mtp flag पास ही नहीं हुआ। इस run में MTP head सिर्फ़ dead weight है; उसे चालू करना अगला साफ़-सुथरा टेस्ट है (Tiel-Coder 35B-A3B पर इसने +14.6% दिए थे)।

- दोनों runs: W srv llama_server: CORS is set to allow all origins ('*') and no API key is set – जब तक server सिर्फ़ 127.0.0.1 पर bind है तब तक बेहतर है; API key के बिना ये port कभी नेटवर्क पर न खोलें।

- दोनों runs: n_ctx_slot = 52736 / 4096, kv_unified = 'true' – 4 slots पर unified KV; 52K वो आँकड़ा है जो --fit ने IQ2_XS weights के साथ फिट होते हुए साबित किया।

## Follow-up: --fit को चुनने दिया, और MTP चालू किया

पहले राउंड के दो खुले सवालों के जवाब में मैंने दोनों configs दोबारा चलाए। दोनों जवाब उम्मीद से हटकर निकले।

### IQ3_S बिना -ngl – auto-fit

```
prompt eval:   3329.43 ms / 373 tokens (   8.93 ms/tok,  112.03 tok/s)
eval (decode): 45080.30 ms / 330 tokens ( 137.02 ms/tok,    7.30 tok/s)
context:       n_ctx_slot = 4096  (fit ने बढ़ाया ही नहीं)
W resolve_fused_ops: layer 0 is assigned to device CPU but fused
  Gated Delta Net (chunked) is assigned to device ROCm0
W fused Gated Delta Net (chunked) not supported, set to disabled
```

`-ngl 999` हटाने से हालत नाटकीय रूप से *खराब* हो गई: 7.30 tok/s – manual सेटिंग का एक-तिहाई भी नहीं। `--fit` ने layer 0 को CPU पर डाल दिया और context डिफ़ॉल्ट 4K से बढ़ाया ही नहीं। ये warning ये भी बताती है कि model आख़िर है क्या: **Qwen3.8 एक Gated Delta Net (GDN) hybrid है** – ज़्यादातर layers linear attention इस्तेमाल करती हैं, और ROCm पर fused chunked-GDN kernel नहीं है, इसलिए CPU/GPU हाइब्रिड विभाजन throughput गिरा देता है। इस कार्ड पर IQ3_S के लिए `-ngl 999` (सारी layers GPU पर, छोटा context स्वीकार करें) ही सही config है – मेरी असली "गलती" ही सही जवाब निकली।

### IQ2_XS --spec-type draft-mtp के साथ

```
prompt eval:   3568.06 ms / 373 tokens (   9.57 ms/tok,  104.54 tok/s)
eval (decode): 8148.60 ms / 189 tokens (  43.34 ms/tok,   23.07 tok/s)
generate:      103 tokens @ 26.73 tok/s (tg), 26.99 tok/s (tg_3s)
draft:         acceptance = 0.48052 (111 accepted / 231 generated), mean len = 2.44
context:       n_ctx_slot = 4096  (--fit aborted: -ngl 999 + draft context)
W llama_sampler_backend_support: device 'ROCm0' does not have
  support for op TOP_K needed for sampler 'top-k'  (×4)
```

MTP head चालू है: **23.07 tok/s** (peak 26.7) बनाम इसके बिना 20.77। दो बातें इसे साफ़ +11% नहीं रहने देतीं: MTP वाले run को सिर्फ़ 4K context मिला (draft context उस headroom को खा जाता है जिसे `--fit` KV पर खर्च करता, और `-ngl 999` सेट होने पर fit मान जाता है), और छोटा KV cache decode को बेहतर दिखाता है – बराबर context पर शुद्ध MTP लाभ **+5–8%** के करीब है। चारों TOP_K warnings भी मायने रखते हैं: ROCm draft sampler का top-k GPU पर नहीं चला सकता, जिससे acceptance 48% पर अटक सकती है (Tiel-Coder पर 54.7%)। फिर भी इस कार्ड पर अब तक का सबसे तेज़ IQ2_XS नंबर।

## निष्कर्ष

12 GB RX 6800M पर **इस 27B के लिए IQ2_XS ही practical choice है**: 52K context पर ~21 tok/s, और `--spec-type draft-mtp` के साथ **~23 tok/s** अगर 4K context चलेगा (या fit/MTP के आपस में पटने का इंतज़ार करें)। IQ3_S कागज़ पर बेहतर quant है पर इस कार्ड के बस से बाहर: असली context से पहले ही 97% VRAM, और "proper" auto-fit रास्ता एक जाल है – layer 0 CPU पर चला जाता है और decode 7.3 tok/s पर गिरकर रुक जाता है। अगर IQ3_S चलाना ही है तो `-ngl 999` फ़ोर्स करें और 4K मान लें। अब खुले सवाल hardware के नहीं, software stack के हैं: ROCm के लिए fused GDN kernel और MTP sampler के लिए TOP_K support – यही इस 3 bpw quant और बेहतर draft acceptance को खोलेंगे।

🧪 और Lab

संबंधित: [LLM के लिए कितनी VRAM चाहिए?](https://velstech.net/how-much-vram-for-llm.hi) · [Quantization deep dive](https://velstech.net/quantization-deep-dive.hi) · [इसी कार्ड पर MoE vs Dense](https://velstech.net/moe-vs-dense-rx6800m-16k-vs-262k.hi)।

[VelsTech Lab पर वापस →](https://velstech.net/lab.hi)

---

*VelsTech – https://velstech.net/qwen38-27b-gsq-rco-rx6800m.hi.md*
