AMD ने ROCm-आधारित CUDA implementation को चुपचाप समर्थन दिया, अब इसे open source के रूप में जारी किया गया
- AMD कई वर्षों से इस दिशा में काम कर रहा था कि डेवलपर्स NVIDIA के CUDA API को लक्षित करने वाले codebase को HIP/ROCm पर चला सकें.
- इन प्रयासों के बावजूद, यदि लक्ष्य सर्वोत्तम performance पाना हो, तो यह कोई अच्छा (सरल, त्वरित और performance-गारंटीड) समाधान नहीं था.
- पिछले 2 वर्षों से AMD चुपचाप एक ऐसे project को समर्थन दे रहा था जो library स्तर पर binary compatibility देता है, ताकि कई NVIDIA CUDA applications source code में बदलाव किए बिना AMD ROCm stack पर चल सकें.
ZLUDA: Intel graphics के लिए CUDA support
- कुछ वर्ष पहले ZLUDA नाम का एक project Intel graphics पर CUDA support देने के लिए शुरू किया गया था, लेकिन व्यक्तिगत कारणों से इसे रोक दिया गया.
- ZLUDA developer Andrzej Janik को 2022 में AMD से AMD GPU पर HIP/ROCm का उपयोग करते हुए ZLUDA लागू करने के लिए contract मिला.
- Janik ने पिछले 2 वर्षों में Radeon GPU पर ZLUDA implement किया, जिससे बहुत-सा CUDA software बिना किसी modification के HIP/ROCm पर चल सके.
ZLUDA का open source release
- AMD ने इस वर्ष इस project के लिए funding बंद कर दी और इसे software product के रूप में जारी न करने का निर्णय लिया.
- लेकिन contract समाप्त होने पर Janik को इस काम को open source के रूप में जारी करने की अनुमति देने वाला एक प्रावधान था.
- Janik ने इस नए ZLUDA implementation को test और benchmark करने के लिए access उपलब्ध कराया.
ZLUDA implementation की सीमाएँ और open source code
- ZLUDA implementation 100% सुरक्षित नहीं है; उदाहरण के लिए NVIDIA OptiX support पूरा नहीं है, और जो software PTX assembly code का उपयोग नहीं करता, उसे फिलहाल संभाला नहीं जाता.
- अधिकांश मामलों में, यह implementation एक ही developer के प्रयास से आश्चर्यजनक रूप से सक्षम है.
- open source code को Apache 2.0 या MIT license के तहत dual-license किया गया है.
- इस Radeon implementation के लिए Rust programming language का उपयोग किया गया है.
GN⁺ की राय
- यह लेख उस project का परिचय देता है जिसे AMD ने CUDA compatibility प्रदान करने के लिए चुपचाप समर्थन दिया, और यह open source community के लिए बड़ा योगदान बन सकता है.
- ZLUDA एक महत्वपूर्ण प्रगति है, जो डेवलपर्स को source code बदले बिना AMD platform पर CUDA applications चलाने में सक्षम बनाती है.
- ऐसे प्रयास AMD GPU users को व्यापक software ecosystem तक पहुँचने का अवसर देते हैं, और खासकर Rust जैसी आधुनिक programming language का उपयोग दिलचस्प है.
2 टिप्पणियां
Nvidia की F***!
Hacker News राय
AMD ने फंडिंग बंद की, जिसके परिणामस्वरूप ZLUDA सार्वजनिक कर दिया गया
CUDA Dark API का उल्लेख
AMD द्वारा CUDA के एकाधिकार को तोड़ने के प्रयास के समर्थन में राय
AMD GPU पर Stable Diffusion चलाने की कोशिश और उसकी कठिनाइयों पर एक अनुभव
Blender ने OpenCL छोड़कर CUDA backend अपनाने के कुछ साल बाद Radeon HIP backend जोड़ा, लेकिन ZLUDA + CUDA backend का उपयोग Radeon HIP backend की तुलना में थोड़ा तेज़ पाया गया.
AMD द्वारा इस project की funding रोकना एक समझ से परे निर्णय लगता है.
Nvidia द्वारा kernel की GPL license driver check को bypass करने की खबर से जुड़ा एक सवाल
जो लोग AMD के ROCm/HIP stack को सीधे compile करना चाहते हैं, उनके लिए एक guide Phoronix लेख में परिचित कराया गया है.
ROCm की आधिकारिक documentation की तुलना में Github पर बेहतर व्याख्या मिलती है, और यह branding के महत्व को रेखांकित करता है कि AMD बाजार में प्रतिस्पर्धात्मकता क्यों खोता है.
एक राय है कि AMD को इस project पर और अधिक teams लगानी चाहिए.