बड़े GPU के लिए बड़ा PC ज़रूरी नहीं
(jeffgeerling.com)- Raspberry Pi 5 पर AMD, Intel, Nvidia GPU चलाकर डेस्कटॉप PC से तुलना करने वाले प्रयोग में पाया गया कि कई मामलों में प्रदर्शन हानि केवल 2~5% के स्तर तक सीमित रही
- Jellyfin ट्रांसकोडिंग, GravityMark रेंडरिंग, LLM/AI inference, और मल्टी GPU कॉन्फ़िगरेशन समेत चार श्रेणियों का परीक्षण कर efficiency और cost-performance का मूल्यांकन किया गया
- 4 Nvidia RTX A5000 जोड़ने वाले एक उदाहरण में Intel सर्वर की तुलना में 2% के भीतर प्रदर्शन अंतर देखा गया, जहाँ PCIe switch के जरिए GPU के बीच memory sharing ने अहम भूमिका निभाई
- Raspberry Pi eGPU सिस्टम की कुल लागत लगभग $350~400 रही, जबकि PC की लागत $1500~2000 थी; बिजली खपत भी Pi में काफी कम रही (idle पर 4~5W बनाम 30W)
- यह एक ऐसा उदाहरण है जो दिखाता है कि Raspberry Pi बड़े GPU को प्रभावी ढंग से उपयोग करने के लिए कम-ऊर्जा, कम-लागत वाले वैकल्पिक प्लेटफ़ॉर्म के रूप में संभावनाशील है
प्रयोग का सारांश
- Raspberry Pi 5 की PCIe Gen 3 x1 bandwidth (8 GT/s) सीमा को ध्यान में रखते हुए भी GPU उपयोग की व्यवहारिकता को सत्यापित किया गया
- तुलना के लिए नवीनतम डेस्कटॉप PC (PCIe Gen 5 x16, 512 GT/s) लिया गया
- परीक्षण श्रेणियाँ थीं मीडिया ट्रांसकोडिंग (Jellyfin), GPU रेंडरिंग (GravityMark), LLM/AI प्रदर्शन, और मल्टी GPU कॉन्फ़िगरेशन
- Dolphin ICS के PCIe Gen 4 external switch और 3-slot backplane का उपयोग कर 2 GPU एक साथ चलाने का प्रयोग किया गया
4 GPU से जुड़े Raspberry Pi का मामला
- GitHub उपयोगकर्ता mpsparrow ने 4 Nvidia RTX A5000 GPU को एक ही Pi से जोड़ा
- Llama 3 70B मॉडल चलाते समय Intel सर्वर की तुलना में 2% के भीतर प्रदर्शन अंतर रहा (11.83 vs 12 tokens/sec)
- PCIe switch के माध्यम से GPU के बीच memory sharing संभव हुई, जिससे Pi की bandwidth सीमा को आंशिक रूप से दरकिनार किया गया
- single GPU कॉन्फ़िगरेशन में भी कुछ कार्यों में डेस्कटॉप के बराबर या उससे बेहतर प्रदर्शन देखा गया
लागत और दक्षता की तुलना
- Raspberry Pi eGPU कॉन्फ़िगरेशन: लगभग $350~400, Intel PC कॉन्फ़िगरेशन: लगभग $1500~2000
- idle बिजली खपत: Pi 4~5W, PC 30W
- GPU को छोड़कर समान शर्तों में लागत और ऊर्जा दक्षता दोनों में Pi आगे रहा
Jellyfin ट्रांसकोडिंग बेंचमार्क
- Nvidia 4070 Ti के उपयोग पर PC raw throughput (2GB/s) में आगे रहा
- Pi में PCIe 850MB/s और USB SSD 300MB/s स्तर दर्ज किया गया
- लेकिन H.264/H.265 मीडिया स्ट्रीमिंग में Pi ने भी 1080p और 4K ट्रांसकोडिंग को सहज रूप से संभाला
- NVENC hardware encoding समर्थित था, और 2 एक-साथ ट्रांसकोडिंग भी स्थिर रहीं
- AMD GPU में ट्रांसकोडिंग स्थिरता से जुड़ी कुछ समस्याएँ सामने आईं
GravityMark रेंडरिंग परीक्षण
- परीक्षण मुख्यतः AMD GPU पर केंद्रित था; PC थोड़ा तेज़ था, लेकिन अंतर बहुत कम था
- RX 460 के उपयोग पर Pi ने PC से बेहतर efficiency (performance/W) दर्ज की
- PCIe Gen 3 bandwidth वाले पुराने GPU में Pi को सापेक्ष लाभ मिला
AI और LLM प्रदर्शन तुलना
- AMD Radeon AI Pro R9700 (32GB VRAM) परीक्षण में अपेक्षा से कम प्रदर्शन मिला; संभवतः driver या BAR सेटिंग समस्या रही
- Nvidia RTX 3060 (12GB) के उपयोग पर Llama 2 13B मॉडल में Pi, PC से तेज़ रहा
- efficiency measurement में Pi, power के मुकाबले throughput में PC से बेहतर निकला
- RTX 4090 परीक्षण में भी बड़े मॉडल (Qwen3 30B) के आधार पर 5% के भीतर प्रदर्शन अंतर रहा, और कई मामलों में efficiency में Pi आगे रहा
- CUDA backend और Vulkan backend दोनों Pi पर सामान्य रूप से चले
ड्यूल GPU कॉन्फ़िगरेशन प्रयोग
- Dolphin PCIe इंटरकनेक्ट बोर्ड और MXH932 HBA का उपयोग किया गया
- ACS निष्क्रिय करने पर GPU के बीच direct memory access संभव हुआ
- अलग-अलग GPU मॉडल (4070, A4000) के संयोजन में VRAM pooling समर्थित नहीं था, इसलिए प्रदर्शन सुधार सीमित रहा
- समान GPU कॉन्फ़िगरेशन में बड़े मॉडल (Qwen3 30B आदि) चलाना संभव हुआ
- AMD RX 7900 XT + R9700 संयोजन में driver समस्या के कारण कुछ मॉडल नहीं चल सके
- Intel PC कुल मिलाकर तेज़ रहा, लेकिन Pi ने भी बड़े मॉडलों में क़रीबी प्रदर्शन बनाए रखा
निष्कर्ष
- absolute performance और convenience में PC आगे है
- लेकिन GPU-केंद्रित workloads और कम-ऊर्जा, कम-लागत वाले वातावरण में Raspberry Pi एक व्यावहारिक विकल्प हो सकता है
- idle पर 20~30W की बचत, और Rockchip·Qualcomm आधारित SBC इससे भी बेहतर efficiency और I/O bandwidth दे सकते हैं
- प्रयोग का उद्देश्य Pi की सीमाओं और GPU computing संरचना को समझना था, और इसी प्रक्रिया में छोटे सिस्टम की क्षमता भी सामने आई
1 टिप्पणियां
Hacker News की राय
लोकल में LLM चलाने के लिए आखिरकार GPU ही सबसे अहम है
इसलिए मैं सोच रहा हूँ कि GPU के साथ जोड़ा जा सकने वाला सबसे सस्ता कंप्यूटर क्या हो सकता है
मुझे BAR जैसी समस्याओं को समझने या ठीक करने की क्षमता नहीं है, इसलिए मैं बस एक ठीक-ठाक GPU लगाकर सस्ता x86 बॉक्स बनाकर इस्तेमाल कर रहा हूँ
लेकिन फिर भी दिमाग से यह बात नहीं निकलती कि शायद इससे ज़्यादा कुशल तरीका हो सकता है
साइट inferbench.com है, और source code GitHub रिपॉज़िटरी में है
मेरा मानना है कि GPU के लिए कम से कम 128GB RAM चाहिए
CPU परफॉर्मेंस कम भी हो तो चलेगा, लेकिन कई PCIe lanes का सपोर्ट चाहिए, इसलिए AMD EPYC जैसे लो-एंड server CPU इसके लिए ठीक हैं
मध्यम आकार के LLM के लिए ये काफी अच्छे हैं
यह समझ नहीं आता कि multi-GPU वाला हिस्सा आश्चर्यजनक क्यों कहा गया
ज़्यादातर LLM framework (जैसे llama.cpp) layers के आधार पर model को split करते हैं, इसलिए sequential dependency बन जाती है और कई GPU होने पर भी काम parallel नहीं हो पाता
कुछ GPU prompt processing में तेज़ होते हैं, और कुछ token generation में, इसलिए Radeon और NVIDIA को मिलाकर इस्तेमाल करने से कभी-कभी फायदा होता है
असली परफॉर्मेंस बढ़त tensor parallel मोड जैसे backend में मिलती है
इसमें neural network को data flow की दिशा में बाँटा जाता है, इसलिए GPU के बीच का interconnect (PCIe x16, NVlink, Infinity Fabric आदि) अच्छा होना चाहिए
अगर यह न हो, तो GPU utilization ऊपर-नीचे होता हुआ दिख सकता है
LLM को इस तरह बाँटने का तरीका कि कई काम parallel चल सकें, जैसे “manager” और “engineer” भूमिकाएँ अलग करना, एक दिलचस्प agent architecture है
manager model prompt बनाता है, नीचे के models parallel काम करते हैं, फिर नतीजे वापस देते हैं
असल में sequence length के अनुसार यह megabytes स्तर तक बढ़ता है
उदाहरण के लिए, अगर Qwen3 30B का hidden state 5120 है, तो 8-bit quantization पर यह प्रति token 5120 bytes होगा
200 token पार करते ही यह MB स्तर पर पहुँच जाता है
PCIe x1 bandwidth (लगभग 2GB/s) से भी काम चल सकता है, लेकिन latency शायद उससे बड़ा मुद्दा हो सकता है
किसी ने ऐसा प्रयोग किया, यह देखकर सच में अच्छा लगा
मैं भी एक spare laptop में eGPU जोड़कर इस्तेमाल कर रहा था, और सोचता था, “क्या यह Raspberry Pi से भी किया जा सकता है?”
काश gaming performance भी देखी गई होती
हालांकि ARM को सपोर्ट करने वाले AAA games ढूँढना मुश्किल है, और FEX के साथ x86 emulation को मजबूर करना उचित नहीं होगा
constrained decoding (JSON schema आधारित) इस्तेमाल करने पर CPU utilization 100% तक चला जाता है
मैंने अपने vLLM instance में भी यही देखा है
PCIe 3.0 प्रति lane लगभग 1GB/s देता है, यानी 10Gb Ethernet जैसी स्पीड
हो सकता है आगे चलकर GPU बिना host system के स्वतंत्र रूप से काम करने लगे
पहले भी Radeon Pro SSG जैसे उदाहरण थे, जहाँ GPU के साथ SSD जोड़ी गई थी,
और सिर्फ छोटे RISC-V chip या Raspberry Pi स्तर के controller से भी काम चल सकता है
संबंधित लेख: TechPowerUp
ऐसा ढाँचा व्यावहारिक लगता है जिसमें GPU सीधे network switch से जुड़ें और 400Gbe या CXL-आधारित communication करें
साथ ही, High Bandwidth Flash जैसी अगली पीढ़ी की flash तकनीकें DRAM की जगह ले सकती हैं
संबंधित लेख: ServeTheHome, Tom’s Hardware
इन data points को देखकर मैं अपने main PC setup पर फिर से सोचने लगा हूँ
शायद 20W से कम पर चलने वाला 300 डॉलर का mini PC ही काफी हो
web browsing, वीडियो देखना, और हल्की gaming आराम से हो जाएगी,
और भारी काम के लिए remote से workstation में लॉग इन किया जा सकता है
सिर्फ 1 vCPU और 4GB RAM से भी web surfing और hobby projects के लिए काफी है
लगता है hardware manufacturers ने “professionals को high-performance laptop चाहिए” कहकर बढ़ा-चढ़ाकर marketing की है
TDP का अंतर परफॉर्मेंस में बड़ा फर्क लाता है
और high-performance मशीनों को soundproof जगह में रख देने से वातावरण काफी आरामदायक हो जाता है
यह सवाल उठता है कि PCI/CPU संरचना की ज़रूरत ही क्यों है
Apple और NVIDIA की तरह CPU और MPP को एक ही package में रखना ही सही दिशा लगती है
लेकिन AI या HPC जैसे बड़े compute workloads में शायद इतना बड़ा अंतर न पड़े