अगर आप AMD Radeon card पर local AI चलाते हैं, तो आप दो competing backends से टकराएँगे: ROCm और Vulkan। आप कौन सा इस्तेमाल करते हैं इससे आपके tokens-per-second, setup मेहनत और कितने GPUs supported हैं, सब बदल जाता है। यह गाइड अंतर समझाती है, हर एक को कैसे setup करें, और – हमारे RX 6800M benchmarks के आधार पर – कौन सा चुनें।

फ़र्क़ क्या है?

दोनों ही software जैसे llama.cpp और Ollama के लिए आपके GPU से बात करने के तरीके हैं। वे एक ही समस्या solve करते हैं (model को CPU के बजाय graphics card पर चलाना) लेकिन तरीका अलग है:

व्यावहारिक अंतर: ROCm आमतौर पर supported cards पर तेज़ होता है, लेकिन आधिकारिक तौर पर कम cards को support करता है। Vulkan ज़्यादा GPUs (पुराने और unsupported Radeons समेत) पर काम करता है और setup में आसान है, लेकिन कुछ workloads में थोड़ा धीमा हो सकता है।

कौन ज़्यादा तेज़ है?

हमारे RX 6800M (12 GB) पर testing से ईमानदार जवाब: यह workload पर निर्भर है।

Flip क्यों? Bottleneck बदल जाता है। Dense model पर जो partially offloaded है, धीमा हिस्सा GPU को bytes feed करना है – जहाँ Vulkan का simpler path जीतता है। Huge-context MoE पर कई CPU experts के साथ constraint कहीं और shift हो जाता है और ROCm का compute advantage दिखता है। पूरे numbers benchmark database और MoE vs Dense Lab test में हैं।

ROCm सेटअप करना

ROCm ज़्यादा involved install है। Ubuntu पर आप AMD के installer का उपयोग करते हैं, अपने card के लिए सही GPU version flag चुनते हुए। हमारा step-by-step ROCm on Ubuntu guide पूरा flow cover करता है – apt repo से लेकर rocminfo तक जो verify करता है कि GPU दिख रहा है। संक्षेप में:

sudo amdgpu-install --usecase=rocm,graphics --gfxversion=gfx1031   # RX 6800M
rocminfo   # verify the GPU shows up

फिर llama.cpp को ROCm support के साथ build करें: cmake .. -DLLAMA_HIPBLAS=ON। ध्यान दें कि RDNA2 (gfx1030) और RDNA3 (gfx1100) को अलग flags चाहिए, और आपको llama.cpp में --load-mode none की ज़रूरत पड़ सकती है ताकि weights को GPU और CPU में बाँटा न जाए।

Vulkan सेटअप करना

Vulkan ज़्यादा आसान है। Vulkan drivers install करें, फिर llama.cpp को Vulkan के साथ build करें:

# Ubuntu: install the Vulkan driver
sudo apt install mesa-vulkan-drivers
# llama.cpp with Vulkan
cmake .. -DLLAMA_VULKAN=ON
make -j$(nproc)

Ollama भी AMD के लिए Vulkan builds ship करता है। बड़ी जीत: अगर आपका card ROCm की official support list में नहीं है, तो Vulkan लगभग निश्चित रूप से आपका working विकल्प है

कैसे चुनें

आपकी स्थितिBest backend
Officially supported Radeon, max compute speed चाहिएROCm
Unsupported / पुराना / laptop RadeonVulkan
Chat (decode-bound) dense model परVulkan (अक्सर)
Huge context / MoE workloadsROCm (अक्सर)
सबसे आसान setup, सबसे wide compatibilityVulkan

सबसे सुरक्षित सलाह: दोनों try करें और benchmark करें। दोनों backends को build करना और same prompt से चलाना मिनटों का काम है, और winner सच में आपके exact card और model पर निर्भर करता है। हमारा Lab ठीक यही करता है – देखें Qwen 27B ROCm vs Vulkan test और Ornith 35B ROCm vs Vulkan test

निष्कर्ष

ROCm और Vulkan दोनों AMD पर local AI चलाते हैं, और कोई भी universally बेहतर नहीं है। ROCm supported cards के लिए max compute target करता है; Vulkan बाकी सब cover करता है और अक्सर chat-speed पर जीतता है। अपने card पर काम करने वाले सबसे आसान backend से शुरू करें (आमतौर पर Vulkan), और marketing नहीं – numbers को फैसला करने दें।

जानना चाहते हैं कि आपका Radeon क्या कर सकता है? benchmark database या GPU AI Performance Calculator देखें।