Ollama 0.32.14 में sm_86 CUDA kernels को हटा दिए जाने के कारण RTX 30-series कार्ड्स के लिए GPU सपोर्ट खत्म हो गया है, जिससे रनटाइम चुपचाप CPU पर स्विच हो जाता है और मॉडल जनरेशन की गति बहुत धीमी हो जाती है।

0.32.14 में क्या बदला

नया बाइनरी केवल 7.5, 8.9, 10.0 और 12.0 कंप्यूट आर्किटेक्चर के लिए बनाया गया है। आर्किटेक्चर 8.6 — जो NVIDIA के RTX 30-series, A40 और A6000 का कोड नेम है — इसमें मौजूद नहीं है। जब लॉन्चर किसी मैचिंग कर्नेल की तलाश करता है, तो उसे कोई नहीं मिलता, वह ollama ps में GPU "split" रिपोर्ट करता है, और फिर बिना एक्सेलेरेशन (acceleration) के आगे बढ़ जाता है।

पुराना फ़ॉलबैक (fallback) अब काम क्यों नहीं करता

पिछले रिलीज़ में एक सेकेंडरी पाथ (secondary path) दिया गया था, जो प्राइमरी कर्नेल फेल होने पर CUDA 12 लाइब्रेरी को लोड कर देता था। उस लाइब्रेरी में अभी भी sm_86 के लिए कोड मौजूद था, जिससे वही हार्डवेयर मॉडल चला पाता था। 0.32.14 में फ़ॉलबैक कोड अनजाने में हटा दिया गया है, इसलिए लॉन्चर पूरी तरह से GPU को छोड़ देता है और होस्ट प्रोसेसर पर चलता है।

इसका प्रभाव किन पर पड़ेगा

जो कोई भी RTX 3080, 3080 Ti, 3090, 3090 Ti, A40, A6000 या कंप्यूट कैपेबिलिटी 8.6 पर आधारित किसी भी अन्य कार्ड का उपयोग कर रहा है, उसे इस सुस्ती (slowdown) का अनुभव होगा। यह बदलाव अदृश्य है — कोई एरर मैसेज नहीं, कोई क्रैश नहीं — बस थ्रूपुट (throughput) में एक स्पष्ट गिरावट।

कैसे जांचें कि आप CPU पर चल रहे हैं

  1. जनरेशन शुरू करें और दूसरे टर्मिनल में nvidia-smi चलाएं। यदि "Memory-Used" कॉलम 0 MiB पर रहता है, तो काम CPU पर हो रहा है।
  2. Ollama लॉग्स में library=CUDA compute=8.6 वाली लाइन देखें। इसका न होना यह पुष्टि करता है कि फ़ॉलबैक कभी सक्रिय नहीं हुआ।
  3. टोकन-पर-सेकंड (token-per-second) की संख्या की तुलना किसी ज्ञात GPU बेसलाइन से करें; एक बड़ा मॉडल जो पिछले रिलीज़ में मिनटों में चलता था, अब उसे दर्जनों मिनट लग सकते हैं।

CUDA_VISIBLE_DEVICES जैसे एनवायरनमेंट वेरिएबल्स सेट करने से समस्या ठीक नहीं होगी क्योंकि गायब कर्नेल कंपाइल-टाइम (compile-time) की कमी है, न कि रनटाइम फ्लैग।

क्विक फिक्स: 0.32.13 पर पिन करें

Windows

  • वर्तमान Ollama इंस्टॉलेशन को अनइंस्टॉल करें।
  • प्रोजेक्ट के GitHub रिलीज़ पेज से 0.32.13 इंस्टॉलर डाउनलोड करें।
  • इंस्टॉलर चलाएं और Ollama सर्विस को रीस्टार्ट करें।

Linux

sudo systemctl stop ollama
# replace <package> with the 0.32.13 .deb or .rpm you downloaded
sudo dpkg -i <package>   # for Debian-based
# or sudo rpm -Uvh <package>   # for RPM-based
sudo systemctl start ollama

डाउनग्रेड करने के बाद, nvidia-smi चेक को फिर से दोहराएं; आपको नॉन-ज़ीरो (non-zero) VRAM उपयोग और जनरेशन स्पीड में उछाल दिखाई देना चाहिए।

भविष्य के रिलीज़ में क्या ध्यान रखें

sm_86 का हटाया जाना जानबूझकर किया गया डिप्रिकेशन (deprecation) होने के बजाय बिल्ड स्क्रिप्ट में एक चूक (oversight) प्रतीत होता है। जब तक मेंटेनर गायब कर्नेल को वापस नहीं लाते या CUDA 12 फ़ॉलबैक को फिर से सक्षम नहीं करते, तब तक 0.32.13 से ऊपर का कोई भी अपग्रेड समान जोखिम पैदा करेगा। 8.6 कर्नेल को फिर से जोड़ने वाले पैच के लिए प्रोजेक्ट के इश्यू ट्रैकर (issue tracker) पर नज़र रखें, और प्रत्येक अपडेट के तुरंत बाद GPU उपयोग का परीक्षण करें।

निष्कर्ष: 0.32.14 रिलीज़ अनजाने में RTX 30-series एक्सेलेरेशन को डिसेबल कर देता है। nvidia-smi के साथ GPU गतिविधि की पुष्टि करें, और यदि आप उन कार्ड्स पर निर्भर हैं, तो जब तक गायब कर्नेल बहाल नहीं हो जाते, तब तक 0.32.13 पर रोल बैक करें।