CUDA inference engine जो mining card (CMP 100-210) पर Qwen3.5/3.6 hybrid मॉडल चलाता है
(github.com/Haru-neo)मैं सोच रहा था कि बड़े मॉडल सस्ते में चलाने का कोई तरीका हो सकता है क्या, तभी मुझे cmp 100-210 मिला, इसलिए मैंने इसके 4 कार्ड खरीदकर देखे।
HBM2 और 16GB मेमोरी (प्रति कार्ड) होने की वजह से यह अच्छा लगा।
लेकिन NVIDIA ने इसे बहुत ही सख्ती से सीमित कर रखा है।
- Tensor Core 64 गुना धीमा है (HMMA latency 8→512 cycle)
- PCIe Gen1 x1 है और P2P भी नहीं है
- CUPTI भी ब्लॉक है, इसलिए
torch.profilerभी इस्तेमाल नहीं कर सकते - यह die में जला हुआ e-fuse है, इसलिए firmware से भी इसे खोल नहीं सकते (सब कोशिश कर चुका हूँ)
इसलिए vLLM, llama.cpp का बेसिक path, FA, bnb — कुछ भी काम नहीं करता।
cuBLAS Tensor Core को छूने वाली हर चीज़ या तो 1/64 स्पीड पर चलती है या क्रैश हो जाती है।
6.4 लाख वॉन के GPU डेस्क पर बेकार पड़े रहें, यह बुरा लगा, इसलिए मैंने खुद inference engine लिख दिया।
सिर्फ उन paths को चुनकर जिन पर throttle नहीं लगता:
- GEMM के लिए DP4A (int8, 17 TFLOP) का self-made kernel
- attention के लिए self-made FlashAttention + MInference स्टाइल block-sparse
- GPU के बीच pinned-host से hidden state bridge (क्योंकि P2P नहीं है)
- 256K context के लिए 3-bit KV cache (WHT + Lloyd-Max), जिससे 17GB → 3.5GB
अभी Qwen3.5/3.6 hybrid (GDN + Attention) मॉडल में 27B और 9B दोनों चल जाते हैं।
OpenAI-compatible API, streaming, tool calls, vision (mmproj), /no_think — सब काम करता है।
बेंचमार्क (vs llama.cpp build 8462, वही Q8_0 GGUF, वही हार्डवेयर):
- 9B single GPU prefill: 1.22 ~ 2.99x
- 27B 3GPU prefill: 1.45 ~ 2.86x
- gen में +30 ~ 50%
सीधी-सादी सीमाएँ:
- MoE सपोर्ट नहीं है (सिर्फ dense hybrid)
- अगर A100 / H100 है तो vLLM इस्तेमाल करें। वह बहुत तेज़ है।
- DFlash जैसी चीज़ों का सिर्फ code है, चलती नहीं हैं (drafter mismatch)
- सिर्फ Q8_0 को आधिकारिक सपोर्ट है
उम्मीद है कि जो लोग इसी तरह के माहौल में फँसे हैं, उनके काम आएगा।
यह इंजन एक हाईस्कूल के प्रथम वर्ष के छात्र ने Claude की मदद से बनाया है, इसलिए इसमें bugs, spaghetti code वगैरह काफ़ी हो सकते हैं।
Issue या PR का स्वागत है!
अभी कोई टिप्पणी नहीं है.