3 पॉइंट द्वारा GN⁺ 2024-03-06 | 1 टिप्पणियां | WhatsApp पर शेयर करें

ZLUDA, CUDA एप्लिकेशनों को AMD GPU पर चलाने में सक्षम बनाता है

  • Andrzej Janik द्वारा विकसित ओपन सोर्स प्रोजेक्ट ZLUDA 3, NVIDIA GPU के लिए डिज़ाइन किए गए GPU-आधारित एप्लिकेशनों को अन्य निर्माताओं के हार्डवेयर पर चलाने में सक्षम बनाता है।
  • यह तकनीक इस तरह डिज़ाइन की गई है कि डेवलपर के अतिरिक्त काम के बिना मौजूदा एप्लिकेशन नए हार्डवेयर पर चल सकें।
  • ZLUDA के पहले के संस्करण CUDA एप्लिकेशनों को Intel GPU पर चलाने में सक्षम बनाते थे, लेकिन संस्करण 3 में फोकस AMD GPU पर शिफ्ट हो गया है।

क्या ZLUDA Intel GPU के लिए नहीं है?

  • ZLUDA को 2020 में Intel GPU के लिए CUDA के विकल्प के रूप में पहली बार जारी किया गया था।
  • 2021 में संस्करण 2 जारी होने के बाद, Janik ने घोषणा की थी कि वह प्रोजेक्ट का विकास जारी नहीं रख सकते, लेकिन बाद में Intel ने ZLUDA का आधिकारिक तकनीक के रूप में मूल्यांकन शुरू किया।
  • Intel ने यह तय किया कि Intel GPU पर CUDA एप्लिकेशनों को चलाने के लिए कोई बिज़नेस केस नहीं है, और Janik ने कंपनी छोड़कर AMD से संपर्क किया।
  • AMD ने 2 साल तक ZLUDA का मूल्यांकन किया, लेकिन प्रोजेक्ट को आगे न बढ़ाने का निर्णय लिया, और Janik ने अपडेटेड कोड को ओपन सोर्स के रूप में जारी कर दिया।

यह CG आर्टिस्ट्स के लिए क्यों महत्वपूर्ण है?

  • ZLUDA संस्करण 3, NVIDIA के CUDA API का उपयोग करके विकसित GPU-आधारित एप्लिकेशनों को AMD GPU पर चलाने में सक्षम बनाता है।
  • VFX, motion graphics और visualization जैसे उद्योगों में कई प्रमुख CG एप्लिकेशन, खासकर renderers, CUDA-आधारित हैं और NVIDIA-एक्सक्लूसिव हैं।
  • AMD के पास अपनी तकनीक HIP है, लेकिन उसके लिए सॉफ़्टवेयर डेवलपर्स के काम की ज़रूरत होती है।
  • ZLUDA वास्तव में HIP पर आधारित है और इसे इस तरह डिज़ाइन किया गया है कि CUDA एप्लिकेशन बिना संशोधन के AMD GPU पर चल सकें।

ZLUDA के तहत CUDA एप्लिकेशन कितनी तेज़ी से चलते हैं?

  • Janik का कहना है कि CUDA एप्लिकेशन AMD GPU पर "लगभग native performance" के साथ चलते हैं।
  • हालांकि, ZLUDA GitHub repository के अनुसार, 3DF Zephyr और RealityCapture, ZLUDA के तहत "काफी धीमे" हैं।
  • कई GPU renderer डेवलपर्स NVIDIA के दूसरे API, OptiX, का भी उपयोग करते हैं, जो performance में योगदान देता है, और ZLUDA OptiX के लिए "न्यूनतम" समर्थन देता है।

क्या दूसरे CG एप्लिकेशन AMD GPU पर ZLUDA के ज़रिए चल सकते हैं?

  • यूज़र टेस्टिंग के बिना यह कहना मुश्किल है कि दूसरे CUDA-आधारित CG एप्लिकेशन ZLUDA के तहत कितने अच्छे से चलेंगे।
  • कई ज्ञात समस्याएँ हैं, और Janik को दूसरे GPU renderers के साथ सीमित सफलता मिली है।

क्या भविष्य में और अधिक CUDA-आधारित CG एप्लिकेशन ZLUDA के तहत चल सकेंगे?

  • Janik का कहना है कि Intel या AMD के समर्थन के बिना ZLUDA "व्यावहारिक रूप से परित्यक्त स्थिति" में है।
  • वह ऐसे प्रस्तावों के लिए खुले हैं जो प्रोजेक्ट को आगे बढ़ा सकें, लेकिन अन्यथा संभवतः वह केवल उन्हीं NVIDIA तकनीकों का समर्थन करेंगे जिनमें उनकी व्यक्तिगत रुचि है।
  • source code सार्वजनिक रूप से उपलब्ध है, और अपनी वर्तमान स्थिति में भी ZLUDA का उपयोग सॉफ़्टवेयर डेवलपर्स CUDA से HIP की ओर "अधिक क्रमिक porting" के हिस्से के रूप में कर सकते हैं।

लाइसेंस और सिस्टम आवश्यकताएँ

  • ZLUDA 3 के compiled versions Windows और Linux पर उपलब्ध हैं। source code Apache 2.0 या MIT license के तहत उपलब्ध है।

GN⁺ की राय

  • ZLUDA, NVIDIA के proprietary CUDA ecosystem को AMD उपयोगकर्ताओं के लिए खोलकर GPU बाज़ार में प्रतिस्पर्धा को बढ़ावा देने की क्षमता रखता है।
  • यह प्रोजेक्ट विशेष रूप से rendering software या scientific computing एप्लिकेशन के उन उपयोगकर्ताओं को लाभ दे सकता है जो CUDA पर निर्भर हैं, क्योंकि यह उन्हें अधिक हार्डवेयर विकल्प देता है।
  • हालांकि, चूँकि ZLUDA अभी शुरुआती चरण में है और पूरी performance तथा compatibility प्रदान नहीं करता, इसलिए वास्तविक production वातावरण में इसे अपनाने में सावधानी बरतनी चाहिए।
  • AMD और NVIDIA के बीच तकनीकी अंतर को कम करना उपभोक्ताओं को बेहतर कीमत और अधिक विकल्प दे सकता है, जो बाज़ार में स्वस्थ प्रतिस्पर्धा को बढ़ावा दे सकता है।
  • ओपन सोर्स कम्युनिटी की निरंतर रुचि और योगदान इस प्रोजेक्ट की सफलता के लिए महत्वपूर्ण होंगे, और यह संबंधित क्षेत्रों के विशेषज्ञों के लिए योगदान का अच्छा अवसर प्रदान करता है।

1 टिप्पणियां

 
GN⁺ 2024-03-06
Hacker News की राय
  • 22 दिन पहले की पिछली चर्चा: AMD ने ROCm-आधारित CUDA implementation विकसित कर उसे open source के रूप में जारी किया [0], इस पर 400 टिप्पणियाँ थीं।

    • उस thread में एक उल्लेखनीय top-level टिप्पणी:

      AMD ने 2 साल के विकास के बाद यह तय किया कि AMD GPU पर CUDA applications चलाने का कोई business case नहीं है। अनुबंध की शर्तों में से एक यह थी कि अगर AMD को लगे कि आगे विकास उपयुक्त नहीं है, तो इसे सार्वजनिक किया जा सकता है। और इस तरह हम आज यहाँ पहुँचे हैं। - ZLUDA FAQ देखें

    • संबंधित लिंक: Hacker News चर्चा
  • AMD का इस project की funding बंद कर देना बहुत ही अविवेकपूर्ण है। open source होते ही यह AMD users को value देने लगा, और ऐसा लगता है कि यही AMD की सबसे बड़ी प्राथमिकता होनी चाहिए थी, फिर भी AMD ने लगभग बिना support वाले दो (या तीन?) वैकल्पिक API के साथ वर्षों बर्बाद कर दिए।

  • चर्चा से संबंधित: Nvidia ने अन्य chips पर चलाने के लिए CUDA software के translation layer के उपयोग पर रोक लगा दी [1]

  • Intel ने भी अंततः यह तय किया कि "Intel GPU पर CUDA applications चलाने का कोई business case नहीं है।" यह बस उसी बात की पुष्टि करता है जो AMD GPGPU के साथ काम कर चुके हर व्यक्ति को पहले से पता है।

  • यह अच्छी तरह ज्ञात है कि AMD का software बहुत खराब है, और यही एकमात्र चीज़ है जो AMD को 2 trillion dollar company बनने से रोक रही है। AMD के OpenCL compiler में bugs थे, और segfault के ज़रिए compiler को आसानी से crash कराया जा सकता था (आखिरकार मैंने हार मान ली और report नहीं किया)। AMD का CUDA के मुकाबले प्रतिस्पर्धी विकल्प न बनाना बेहद short-term सोच थी। समझ नहीं आता कि AMD के board को अब तक बदला क्यों नहीं गया। आप बेहतरीन hardware बना सकते हैं, लेकिन अगर उसे इस्तेमाल करने वाला software खराब है, तो कोई उसे खरीदेगा या इस्तेमाल नहीं करेगा। एक customer के रूप में, ऐसा लगता है कि AMD का board मेज़ पर छूटे हुए trillions of dollars की value की परवाह ही नहीं करता, इसलिए मेरे पास overvalued Nvidia cards खरीदने के अलावा कोई विकल्प नहीं बचता। AMD stock रखने वालों को सवाल पूछने चाहिए, और उस board को सबसे नज़दीकी नाले में बहा देना चाहिए।

  • सोचता हूँ क्या कोई ऐसी programming language है जो Metal, CUDA, और AMD के पास जो भी है, जैसी अलग-अलग kernel languages के लिए compile कर सके। अगर नहीं है, तो क्यों नहीं? जैसे अलग-अलग CPU architectures के लिए compile करने वाले C compilers हैं, वैसे ही GPU architectures के लिए compile करने वाले compilers भी होने चाहिए, है न? शायद अभी तक किसी ने बनाया नहीं है।

  • क्या किसी ने इसे Meshroom जैसे OSS photogrammetry tools में चलाकर देखा है? लेख में कुछ proprietary चीज़ों का ज़िक्र है, लेकिन वास्तव में ज़रूरत बहुत ज़्यादा नहीं लगती।

  • AMD GPU की समस्या individual kernels नहीं बल्कि libraries हैं। release notes में 'cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL, NVML के लिए minimal support जोड़ा गया' लिखा है, जिससे लगता है कि यह project इसी दिशा में बढ़ रहा था। AMD की funding बंद होने के बाद भी यह project momentum बनाए रख पाएगा या नहीं, यह कोई नहीं जानता।

  • Oracle बनाम Google के संदर्भ में JVM bytecode के उपयोग से यह लगभग वही समस्या है।

  • geohot की AMD GPU के साथ चल रही (महँगी) लड़ाई भी प्रासंगिक है: Twitter लिंक