स्थानीय लार्ज लैंग्वेज मॉडल (LLM) चलाना अक्सर आपको हार्डवेयर की सीमाओं में बांध देता है। NVIDIA उपयोगकर्ता CUDA इकोसिस्टम के भीतर रहते हैं। Apple डेवलपर्स Metal का उपयोग करते हैं। बाकी सभी को उम्मीद होती है कि उनका GPU OpenCL को सपोर्ट करे या फिर वे सीधे CPU पर निर्भर हो जाएं। यह विखंडन (fragmentation) डेस्कटॉप AI एप्लिकेशन को लॉन्च करना उतना कठिन बना देता है जितना कि होना चाहिए। TensorSharp ने एक Vulkan backend जोड़कर इस समस्या को कम कर दिया है, जिससे इंजन को विभिन्न वेंडरों के discrete GPUs के लिए एक विश्वसनीय रास्ता मिल गया है।

Vulkan समीकरण को क्यों बदल देता है

Vulkan पर आमतौर पर गेमिंग हलकों में चर्चा की जाती है, लेकिन एक low-overhead, cross-platform compute API के रूप में, यह inference के लिए भी उतना ही महत्वपूर्ण है। यह उस हार्डवेयर तक पहुँचता है जिसे CUDA अनदेखा कर देता है। जैसे Intel UHD और Iris Xe integrated chips, पुराने discrete cards, और बिना NVIDIA स्टिकर वाले बजट Windows लैपटॉप। एक स्थानीय inference इंजन के लिए, यह पहुँच व्यावहारिक शक्ति है। एक डेवलपर एक सिंगल binary path शिप कर सकता है जो CUDA-only समाधान की तुलना में कहीं अधिक मशीनों पर काम कर सकता है।

TensorSharp का Vulkan सपोर्ट GGML प्रोजेक्ट के माध्यम से पेश किया गया। यह एकीकरण आज कार्यात्मक है, हालांकि लेखक बाद में एक native Vulkan backend बनाने की योजना बना रहे हैं। GGML को एक ब्रिज के रूप में उपयोग करना एक सही कदम था। यह आर्किटेक्चर को प्रमाणित करता है और तुरंत हार्डवेयर को टेस्टर्स के हाथों में पहुँचा देता है। एब्स्ट्रैक्शन ओवरहेड को कम करने और C#-केंद्रित इंजन को command buffers और memory barriers पर बेहतर नियंत्रण देने के लिए एक native backend बाद में आएगा।

अब तक टेस्टिंग का दायरा कैसा है

वैलिडेशन में पहले से ही दो बहुत अलग Windows कॉन्फ़िगरेशन शामिल हैं। डेवलपर ने NVIDIA GeForce RTX 3080 Laptop GPU और साधारण Intel UHD Graphics पर परीक्षण किया। दोनों ने अच्छा प्रदर्शन किया। इस रेंज पर ध्यान देना महत्वपूर्ण है। inference की दुनिया में, high-wattage discrete silicon और बेसिक integrated graphics का इस तरह आसानी से एक साथ टेस्ट होना दुर्लभ है। यदि आप बिना समर्पित GPU वाला एक हल्का लैपटॉप चला रहे हैं, तो TensorSharp अब एक वास्तविक acceleration path प्रदान करता है जो NVIDIA drivers पर निर्भर नहीं है।

इस मैट्रिक्स में कमी AMD की है। अभी तक किसी भी Radeon हार्डवेयर का परीक्षण नहीं किया गया है। यदि आपके पास AMD GPU है, तो इस प्रोजेक्ट को आपकी प्रतिक्रिया की आवश्यकता है। RX 6000 या 7000 सीरीज के कार्ड्स पर कम्युनिटी वैलिडेशन ही एक प्रयोगात्मक backend को production-grade विकल्प में बदलता है। यदि यह काम न करे तो issue दर्ज करें। यदि यह बेहतरीन काम करे तो भी दर्ज करें। दोनों ही परिणाम प्रोजेक्ट को आगे बढ़ाते हैं।

TensorSharp कोई Wrapper नहीं है

इस बिंदु पर जोर देना आवश्यक है। TensorSharp, llama.cpp के चारों ओर बना कोई C# binding नहीं है। डेवलपर ने पूरे इंजन को शुरुआत से बनाया है। CPU backend पूरी तरह से C# है। जब आप बिना GPU के inference चलाते हैं, तो आप किसी foreign function interface के माध्यम से C++ binary में marshaling करने के बजाय managed code को निष्पादित कर रहे होते हैं। प्रोजेक्ट CUDA, Apple के MLX और GGML के लिए समर्पित backends भी बनाए रखता है। इस आर्किटेक्चरल स्वतंत्रता के बावजूद, इसका प्रदर्शन llama.cpp के बराबर है, जो कि वह संदर्भ बिंदु (reference point) बना हुआ है जिसका अधिकांश स्थानीय inference प्रोजेक्ट्स पीछा करते हैं। यह समानता कड़ी मेहनत से हासिल की गई है। इसका मतलब है कि memory layout, kernel dispatch और tensor ops सभी वास्तविक लोड के तहत स्थिर रहते हैं।

मॉडल सपोर्ट में Gemma4, DiffusionGemma और Qwen3.6 शामिल हैं। रनटाइम मल्टीमॉडल कार्य भी संभालता है। Vision, audio और reasoning pipelines एक ही इंजन के माध्यम से चलते हैं। यदि आप एक डेस्कटॉप असिस्टेंट का प्रोटोटाइप बना रहे हैं जो स्क्रीनशॉट पढ़ता है और वॉयस कमांड स्वीकार करता है, तो आपको तीन अलग-अलग runtimes को जोड़ने और यह प्रार्थना करने की आवश्यकता नहीं है कि उनका memory footprint आपकी मशीन में फिट हो जाए।

प्लेटफॉर्म और API लचीलापन

TensorSharp Windows, macOS और Linux पर चलता है। नया Vulkan backend मौजूदा CUDA और Metal paths के साथ उस मैट्रिक्स में आसानी से फिट हो जाता है। इंजन OpenAI और Ollama दोनों APIs के साथ संगतता (compatibility) भी प्रदान करता है। यह विकल्प एकीकरण की बाधाओं (integration friction) को दूर करता है। आप prompt templates को फिर से लिखे बिना या नए response shape को parse किए बिना मौजूदा client code को स्थानीय TensorSharp server की ओर निर्देशित कर सकते हैं। उन टीमों के लिए जो पहले से ही आंतरिक रूप से Ollama चला रही हैं या OpenAI के REST surface के लिए निर्माण कर रही हैं, स्थानीय TensorSharp instance पर स्विच करना काफी हद तक केवल एक base URL बदलने का मामला है।

काम करने वाले उधार लिए गए ऑप्टिमाइज़ेशन

प्रदर्शन केवल इस बारे में नहीं है कि कौन सा API GPU से बात करता है। TensorSharp कई ऐसे ऑप्टिमाइज़ेशन को एकीकृत करता है जो अन्य जगहों पर प्रोडक्शन में सिद्ध हो चुके हैं।

vLLM से लिया गया Paged KV cache, लंबी बातचीत के दौरान मेमोरी को अनियंत्रित रूप से बढ़ने से रोकता है। प्रत्येक अनुक्रम (sequence) के लिए एक निरंतर (contiguous) scratchpad आरक्षित करने के बजाय, इंजन निश्चित आकार के पेज आवंटित करता है और उन्हें मांग पर मैप करता है। आप RAM उपयोग में अचानक वृद्धि की चिंता किए बिना context windows को लंबे समय तक खुला रख सकते हैं।

Continuous batching, जो vLLM से भी है, थ्रूपुट में सुधार करता है। इंजन वर्तमान समूह के समाप्त होने की प्रतीक्षा करने के बजाय सक्रिय बैचों में नए अनुरोधों को शामिल कर सकता है। यदि एक उपयोगकर्ता का प्रॉम्प्ट दस टोकन का है और दूसरे का दो सौ का, तो हार्डवेयर अधिक व्यस्त रहता है और औसत लेटेंसी कम हो जाती है।

Mixture-of-Experts मॉडल्स के लिए, TensorSharp में oMLX से ली गई एक SSD-आधारित कैश रणनीति लागू की गई है। बार-बार एक्सेस किए जाने वाले एक्सपर्ट वेट्स सिस्टम RAM के लिए संघर्ष करने के बजाय तेज़ स्टोरेज पर तैयार रहते हैं। सीमित मेमोरी लेकिन अच्छे NVMe ड्राइव वाले मशीनों पर, यह MoE आर्किटेक्चर को उपयोगी बनाए रखता है।

Quantization, llama.cpp द्वारा स्थापित GGUF मानक का पालन करता है। आपके क्वांटाइज़्ड 4-bit और 5-bit मॉडल बिना किसी कन्वर्जन स्टेप के सीधे लोड हो जाते हैं।

मुख्य निष्कर्ष

Vulkan सपोर्ट TensorSharp को एक दिलचस्प C# प्रयोग से बदलकर विषम (heterogeneous) हार्डवेयर के लिए एक व्यावहारिक इन्फरेंस विकल्प बना देता है। रोडमैप स्पष्ट है: AMD और Intel डिस्क्रीट सिलिकॉन पर इसका सत्यापन करें, फिर एक नेटिव Vulkan बैकएंड के साथ कार्यान्वयन को और सुदृढ़ बनाएं। यदि आपके वर्कस्टेशन या लैपटॉप में AMD कार्ड है, तो बिल्ड चलाएं और अपने परिणाम साझा करें। यही फीडबैक लूप प्रयोगात्मक कोड को उस चीज़ में बदल देता है जिसे आप शिप कर सकते हैं।

आप रिलीज़ का विवरण डेवलपर के लेख पर पा सकते हैं। यदि यह प्रोजेक्ट आपको CUDA टूलकिट के साथ तालमेल बिठाने या macOS वर्शन लॉक के साथ संघर्ष करने से बचाता है, तो रिपॉजिटरी पर एक स्टार दें। निरंतर चर्चा और कम्युनिटी टेस्टिंग थ्रेड्स के लिए, Telegram ग्रुप खुला है।