ZLUDA टूलकिट प्रकाशित किया गया है, जो आपको AMD GPU पर CUDA एप्लिकेशन चलाने की अनुमति देता है

Проект ZLUDA подготовил открытую реализацию технологии CUDA для GPU AMD, позволяющую выполнять немодифицированные CUDA-приложения с производительностью, близкой к производительности приложений, выполняемых без прослоек. Опубликованный инструментарий обеспечивает бинарную совместимость с существующими CUDA-приложениями, собранными при помощи компилятора CUDA для GPU NVIDIA. Реализация работает поверх развиваемого компанией AMD стека ROCm и runtime HIP (Heterogeneous-computing Interface for Portability). Код проекта написан на языке Rust и распространяется под лицензиями MIT и Apache 2.0. Поддерживается работа в Linux и Windows.

AMD GPU वाले सिस्टम पर CUDA संचालन को व्यवस्थित करने के लिए परत का विकास पिछले दो वर्षों में किया गया है, लेकिन इस परियोजना का इतिहास इससे भी पुराना है और इसे मूल रूप से Intel GPU पर CUDA संचालन सुनिश्चित करने के लिए बनाया गया था। GPU समर्थन नीति में परिवर्तन को इस तथ्य से समझाया गया है कि पहले ZLUDA का डेवलपर एक Intel कर्मचारी था, लेकिन 2021 में इस कंपनी ने Intel GPU पर CUDA अनुप्रयोगों को चलाने की क्षमता प्रदान करने को कोई व्यावसायिक हित नहीं माना और इस पहल को आगे नहीं बढ़ाया।

2022 की शुरुआत में, डेवलपर ने इंटेल छोड़ दिया और उसे CUDA संगतता परत विकसित करने के लिए AMD द्वारा अनुबंधित किया गया। AMD ने अनुरोध किया है कि विकास के दौरान, ZLUDA परियोजना में AMD की रुचि को सार्वजनिक न किया जाए तथा ZLUDA सार्वजनिक रिपोजिटरी में कोई प्रतिबद्धता न की जाए। दो साल बाद, AMD ने निर्णय लिया कि AMD GPU पर CUDA अनुप्रयोगों को चलाना व्यावसायिक हित में नहीं था, जिससे अनुबंध की शर्तों के तहत, डेवलपर को अपने विकास कार्य जारी रखने की अनुमति मिल गई। चूंकि GPU निर्माताओं ने इस परियोजना को वित्तपोषित करना बंद कर दिया है, इसलिए इसका भाग्य अब सामुदायिक रुचि और अन्य कंपनियों के सहयोग प्रस्तावों पर निर्भर करता है। बाहरी समर्थन के बिना, परियोजना केवल उन दिशाओं में ही विकसित हो पाएगी जो लेखक के लिए व्यक्तिगत रुचि की हों, जैसे डीएलएसएस (डीप लर्निंग सुपर सैंपलिंग)।

अपने वर्तमान स्वरूप में, कार्यान्वयन के गुणवत्ता स्तर का मूल्यांकन अल्फा संस्करण के रूप में किया जाता है। ZLUDA का उपयोग पहले से ही कई CUDA अनुप्रयोगों को चलाने के लिए किया जा सकता है, जिनमें गीकबेंच, 3DF Zephyr, ब्लेंडर, रियलिटी कैप्चर, LAMMPS, NAMD, waifu2x, OpenFOAM और अर्नोल्ड शामिल हैं। cuDNN, cuBLAS, cuSPARSE, cuFFT, NCCL और NVML प्राइमिटिव्स और लाइब्रेरीज़ के लिए न्यूनतम समर्थन प्रदान किया गया है।

ZLUDA के अंतर्गत CUDA अनुप्रयोगों के प्रथम प्रक्षेपण में ZLUDA द्वारा GPU कोड संकलित करने के कारण, उल्लेखनीय विलम्ब हुआ। आगामी रन में ऐसा कोई विलम्ब नहीं होता, क्योंकि संकलित कोड कैश में संग्रहीत रहता है। संकलित कोड के निष्पादन के दौरान, प्रदर्शन मूल के करीब होता है। AMD Radeon 6800 XT GPU पर गीकबेंच चलाने पर, CUDA बेंचमार्क सूट के ZLUDA-आधारित संस्करण ने OpenCL-आधारित संस्करण की तुलना में काफी बेहतर प्रदर्शन किया।

ZLUDA टूलकिट प्रकाशित किया गया है, जो आपको AMD GPU पर CUDA एप्लिकेशन चलाने की अनुमति देता है

आधिकारिक CUDA ड्राइवर API और अनिर्दिष्ट CUDA API के रिवर्स-इंजीनियर्ड भाग के लिए समर्थन, HIP रनटाइम में दिए गए समान फ़ंक्शन के साथ फ़ंक्शन कॉल को प्रतिस्थापित करके ZLUDA में कार्यान्वित किया गया है, जो कई मायनों में CUDA के समान है। उदाहरण के लिए, cuDeviceGetAttribute() फ़ंक्शन को hipDeviceGetAttribute() द्वारा प्रतिस्थापित किया जाता है। NVIDIA लाइब्रेरियों जैसे NVML, cuBLAS और cuSPARSE के साथ संगतता इसी प्रकार प्रदान की जाती है - ऐसी लाइब्रेरियों के लिए, ZLUDA समान नाम और समान कार्यों के सेट के साथ अनुवाद लाइब्रेरी प्रदान करता है, जो समान AMD लाइब्रेरी पर ऐड-ऑन के रूप में निर्मित होती हैं।

PTX (समानांतर थ्रेड निष्पादन) निरूपण में संकलित GPU अनुप्रयोग कोड को पहले एक विशेष कंपाइलर द्वारा LLVM IR मध्यवर्ती निरूपण में अनुवादित किया जाता है, जिसके आधार पर AMD GPU के लिए बाइनरी कोड तैयार किया जाता है।

ZLUDA टूलकिट प्रकाशित किया गया है, जो आपको AMD GPU पर CUDA एप्लिकेशन चलाने की अनुमति देता है


स्रोत: opennet.ru
DDoS सुरक्षा, VPS VDS सर्वर वाली साइटों के लिए विश्वसनीय होस्टिंग खरीदें 🔥 डीडीओएस सुरक्षा, वीपीएस और वीडीएस सर्वर के साथ विश्वसनीय वेबसाइट होस्टिंग खरीदें | ProHoster