NVIDIA GPUs DPC ++ मानक के विकास के लिए कोडप्ले योगदान के बाद SYCL समर्थन प्राप्त करते हैं

हार्डवेयर / NVIDIA GPUs DPC ++ मानक के विकास के लिए कोडप्ले योगदान के बाद SYCL समर्थन प्राप्त करते हैं 2 मिनट पढ़ा

NVIDIA



इंटेल, Xilinx, Renesas और इमेजिनेशन टेक्नोलॉजीज, SYCL (स्पष्ट 'सिकल') जैसी प्रमुख कंपनियों से समर्थन प्राप्त करने के बाद, NVIDIA GPU का उपयोग करने वाले डेवलपर्स अब लाभ भी प्राप्त कर सकेंगे। कोडप्ले, संगठन जो लगातार SYCL समुदाय के लिए एक सक्रिय योगदानकर्ता रहा है, ने अब DPC ++ (डेटा समानांतर C ++) के उन्नत विकास को समाप्त कर दिया है, जो कई हार्डवेयर प्लेटफार्मों पर कोड रीसाइक्लिंग और पुन: उपयोग करने की सुविधा प्रदान करता है। परिणाम ComputeCpp है, SYCL के कोडप्ले का अपना कार्यान्वयन ।

ComputeCpp का नवीनतम संस्करण OpenCL और NVIDIA के PTX का उपयोग करते हुए NVIDIA GPU के लिए प्रायोगिक समर्थन प्रदान करता है

पिछले साल, इंटेल ने SYCL को एक धक्का देने के लिए एक निर्णायक कदम उठाया और यहां तक ​​कि वनएपीआई मानक पर काम करना शुरू कर दिया। OneAPI में इंटेल के CPU, GPU और FPGAs के लिए DPC ++ (एक्सटेंशन के साथ SYCL का कार्यान्वयन) शामिल है। यह आंदोलन जल्द ही काफी बड़ा हो गया और SYCL के समर्थन के बाद Xilinx, Renesas और इमेजिनेशन टेक्नोलॉजीज से समर्थन प्राप्त हुआ। सीधे शब्दों में कहें, सॉफ्टवेयर डेवलपर्स अब SYCL का उपयोग कर उपकरणों की एक विस्तृत श्रृंखला को लक्षित करने में सक्षम हैं।



ComputeCpp OpenCL और NVIDIA के PTX का उपयोग करते हुए NVIDIA GPU के लिए प्रयोगात्मक समर्थन प्रदान करता है। लेकिन DPC ++ (Intel का SYCL कार्यान्वयन) OpenCL के माध्यम से जाने के बिना LLVM संकलक में एकीकृत NVIDIA GPU के लिए पूर्ण समर्थन जोड़ने का अवसर प्रदान करता है। कोडप्ले ने घोषणा की कि वे अपने कार्यान्वयन के प्रारंभिक, प्रयोगात्मक चरण को ओपन-सोर्स कर रहे हैं जो SYCL डेवलपर्स को NVIDIA GPU को लक्षित करने में सक्षम बनाता है। इस कार्यान्वयन के लिए कोडबेस में रहता है एक अलग कांटा मुख्य एलएलवीएम संकलक परियोजना और डीपीसी ++ शाखा दोनों से। संगठन ने कहा कि वे इंटेल के साथ काम करने का इरादा करते हैं ताकि अपग्रेड इंटेल / एलएलवीएम कंपाइलर में NVIDIA GPU का समर्थन मिल सके।

कैसे डेवलपर्स NVIDIA GPU के लिए SYCL समर्थन से लाभ उठा सकते हैं?

यह परियोजना डेवलपर्स को सिस्टम में ओपनसीएल परत के माध्यम से जाने के बिना, एसवाईसीएल कोड का उपयोग करके जीपीयू GPU को लक्षित करने में सक्षम बनाती है। दूसरे शब्दों में, सिर्फ एक GPU GPU के साथ, डेवलपर्स SYCL अनुप्रयोगों को संकलित करने के लिए अपने सिस्टम पर DPC ++ चला सकते हैं। इसके अलावा, किसी भी मौजूदा CUDA एप्लिकेशन को CUDA समर्थन का उपयोग करके SYCL में क्रमिक रूप से पोर्ट किया जा सकता है, और फिर इसे ऐसे प्लेटफ़ॉर्म पर चलाएं जिसमें CUDA नहीं है। यह स्पष्ट रूप से बहुत समय और दोहराया प्रयासों को बचाता है।

कोडप्ले ने प्रोजेक्ट README फाइल पर निर्देश दिया है जिसमें बताया गया है कि DPC ++ के लिए NVIDIA बैक-एंड का उपयोग कैसे करें। डेवलपर्स को संकलन करते समय कुछ झंडे का उपयोग करने की आवश्यकता होती है, और रनटाइम सुनिश्चित करने के लिए कि किस उपकरण को लक्षित करना है यह सुनिश्चित करने के लिए अपने डिवाइस चयनकर्ता को स्थापित करने के लिए कुछ कोड। विशेष रूप से, अनुभाग ' NVIDIA CUDA के समर्थन के साथ SYCL टूलकिन बनाएँ 'और क्लैंग संकलक विकल्प हैं विशिष्ट निर्देश

कोडप्ले ने पुष्टि की कि वे सफलतापूर्वक Ubuntu 18.04 के साथ एक टाइटन आरटीएक्स जीपीयू GPU (गणना क्षमता 7.5) पर CUDA 10.1 का उपयोग करके परियोजना को चलाते हैं। टीम ने आश्वासन दिया कि यह एसएम 5.0 या उससे अधिक के साथ संगत किसी भी GPU GPU के साथ अन्य लिनक्स संस्करणों पर भी काम करना चाहिए। हालाँकि, संकलित SYCL आवेदन केवल CUDA या OpenCL को लक्षित करने में सक्षम होगा, दोनों एक ही समय में नहीं।