आरओसीएम: Difference between revisions
No edit summary |
No edit summary |
||
| (3 intermediate revisions by 3 users not shown) | |||
| Line 20: | Line 20: | ||
| website = {{URL|https://www.amd.com/en/graphics/servers-solutions-rocm}} | | website = {{URL|https://www.amd.com/en/graphics/servers-solutions-rocm}} | ||
}} | }} | ||
आरओसीएम<ref>{{Cite web|url=https://github.com/RadeonOpenCompute/ROCm/issues/1628|title=Question: What does ROCm stand for? · Issue #1628 · RadeonOpenCompute/ROCm|website=Github.com|access-date=January 18, 2022}}</ref> [[ग्राफ़िक्स प्रोसेसिंग युनिट]] (जीपीयू) प्रोग्रामिंग के लिए ऍड्वांस्ड माइक्रो डिवाइसेज़ (एएमडी) सॉफ्टवेयर स्टैक है। आरओसीएम कई क्षेत्रों में फैला हुआ है: जनरल-पर्पस कंप्यूटिंग ऑन ग्राफिक्स प्रोसेसिंग यूनिट (जीपीजीपीयू), [[उच्च प्रदर्शन कंप्यूटिंग|हाई-परफॉरमेंस कंप्यूटिंग]] (एचपीसी), [[विषम कंप्यूटिंग|हेटेरोगेनोस कंप्यूटिंग]] है। यह कई प्रोग्रामिंग मॉडल प्रदान करता है: एचआईपी (जीपीयू-कर्नेल-आधारित प्रोग्रामिंग), [[OpenMP|ओपनएमपी]]/मैसेज [[संदेश पासिंग इंटरफ़ेस|पासिंग इंटरफ़ेस]](एमपीआई) निर्देश-आधारित प्रोग्रामिंग), [[OpenCL|ओपनसीएल]] है। | '''आरओसीएम'''<ref>{{Cite web|url=https://github.com/RadeonOpenCompute/ROCm/issues/1628|title=Question: What does ROCm stand for? · Issue #1628 · RadeonOpenCompute/ROCm|website=Github.com|access-date=January 18, 2022}}</ref> [[ग्राफ़िक्स प्रोसेसिंग युनिट]] (जीपीयू) प्रोग्रामिंग के लिए ऍड्वांस्ड माइक्रो डिवाइसेज़ (एएमडी) सॉफ्टवेयर स्टैक है। आरओसीएम कई क्षेत्रों में फैला हुआ है: जनरल-पर्पस कंप्यूटिंग ऑन ग्राफिक्स प्रोसेसिंग यूनिट (जीपीजीपीयू), [[उच्च प्रदर्शन कंप्यूटिंग|हाई-परफॉरमेंस कंप्यूटिंग]] (एचपीसी), [[विषम कंप्यूटिंग|हेटेरोगेनोस कंप्यूटिंग]] है। यह कई प्रोग्रामिंग मॉडल प्रदान करता है: एचआईपी (जीपीयू-कर्नेल-आधारित प्रोग्रामिंग), [[OpenMP|ओपनएमपी]]/मैसेज [[संदेश पासिंग इंटरफ़ेस|पासिंग इंटरफ़ेस]](एमपीआई) निर्देश-आधारित प्रोग्रामिंग), [[OpenCL|ओपनसीएल]] है। | ||
आरओसीएम मुफ़्त, और [[खुला स्रोत सॉफ्टवेयर|मुक्त स्रोत सॉफ्टवेयर]] है (जीपीयू [[बाइनरी ब्लॉब]] को छोड़कर<ref>{{Cite web|url=https://packages.debian.org/buster/firmware-amd-graphics|title=Debian -- Details of package firmware-amd-graphics in buster|website=Packages.debian.org|access-date=January 18, 2022}}</ref>), यह विभिन्न अनुज्ञप्ति के अनुसार वितरित किया जाता है। | आरओसीएम मुफ़्त, और [[खुला स्रोत सॉफ्टवेयर|मुक्त स्रोत सॉफ्टवेयर]] है (जीपीयू [[बाइनरी ब्लॉब]] को छोड़कर<ref>{{Cite web|url=https://packages.debian.org/buster/firmware-amd-graphics|title=Debian -- Details of package firmware-amd-graphics in buster|website=Packages.debian.org|access-date=January 18, 2022}}</ref>), यह विभिन्न अनुज्ञप्ति के अनुसार वितरित किया जाता है। | ||
| Line 343: | Line 343: | ||
{{Portal bar|Computer programming|Free and open-source software|Linux|Engineering|Electronics|Technology|Mathematics}} | {{Portal bar|Computer programming|Free and open-source software|Linux|Engineering|Electronics|Technology|Mathematics}} | ||
{{Authority control}} | {{Authority control}} | ||
[[Category:Articles with hatnote templates targeting a nonexistent page]] | |||
[[Category:CS1 English-language sources (en)]] | |||
[[Category: | [[Category:Collapse templates]] | ||
[[Category:Created On 18/02/2023]] | [[Category:Created On 18/02/2023]] | ||
[[Category:Lua-based templates]] | |||
[[Category:Machine Translated Page]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists]] | |||
[[Category:Pages with empty portal template]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Portal templates with redlinked portals]] | |||
[[Category:Short description with empty Wikidata description]] | |||
[[Category:Sidebars with styles needing conversion]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:Templates generating microformats]] | |||
[[Category:Templates that add a tracking category]] | |||
[[Category:Templates that are not mobile friendly]] | |||
[[Category:Templates that generate short descriptions]] | |||
[[Category:Templates using TemplateData]] | |||
[[Category:Wikipedia metatemplates]] | |||
[[Category:एएमडी सॉफ्टवेयर]] | |||
[[Category:एप्लिकेशन प्रोग्रामिंग इंटरफेस]] | |||
[[Category:ग्राफिक्स कार्ड]] | |||
[[Category:ग्राफिक्स हार्डवेयर]] | |||
[[Category:जीपीजीपीयू]] | |||
[[Category:जीपीजीपीयू पुस्तकालय]] | |||
[[Category:यंत्र अधिगम]] | |||
[[Category:विषम कंप्यूटिंग]] | |||
[[Category:समवर्ती कंप्यूटिंग]] | |||
[[Category:समानांतर कंप्यूटिंग]] | |||
[[Category:सुपर कंप्यूटर]] | |||
Latest revision as of 12:24, 28 August 2023
| Developer(s) | AMD |
|---|---|
| Initial release | November 14, 2016 |
| Stable release | 5.3.0
/ October 4, 2022[1] |
| Repository | Meta-repository github |
| Written in | C, C++, Python, Fortran, Julia |
| Middleware | HIP |
| Engine | AMDgpu kernel driver, HIPCC, a LLVM-based compiler |
| Operating system | Linux |
| Platform | Supported GPUs |
| Predecessor | Close to metal, Stream, HSA |
| Size | <2 GiB |
| Type | GPGPU libraries and APIs |
| License | Libre |
| Website | www |
आरओसीएम[2] ग्राफ़िक्स प्रोसेसिंग युनिट (जीपीयू) प्रोग्रामिंग के लिए ऍड्वांस्ड माइक्रो डिवाइसेज़ (एएमडी) सॉफ्टवेयर स्टैक है। आरओसीएम कई क्षेत्रों में फैला हुआ है: जनरल-पर्पस कंप्यूटिंग ऑन ग्राफिक्स प्रोसेसिंग यूनिट (जीपीजीपीयू), हाई-परफॉरमेंस कंप्यूटिंग (एचपीसी), हेटेरोगेनोस कंप्यूटिंग है। यह कई प्रोग्रामिंग मॉडल प्रदान करता है: एचआईपी (जीपीयू-कर्नेल-आधारित प्रोग्रामिंग), ओपनएमपी/मैसेज पासिंग इंटरफ़ेस(एमपीआई) निर्देश-आधारित प्रोग्रामिंग), ओपनसीएल है।
आरओसीएम मुफ़्त, और मुक्त स्रोत सॉफ्टवेयर है (जीपीयू बाइनरी ब्लॉब को छोड़कर[3]), यह विभिन्न अनुज्ञप्ति के अनुसार वितरित किया जाता है।
पृष्ठभूमि
एटीआई टेक्नोलॉजीज/एएमडी से पहला जीपीजीपीयू सॉफ्टवेयर स्टैक मेटल के करीब था, जो एएमडी स्ट्रीम प्रोसेसर सॉफ्टवेयर डेवलपमेंट किट बन गया।
आरओसीएम को 2016 के आसपास [4] बोल्ट्ज़मैन इनिशिएटिव (आरओसीएम) के साथ प्रारंभ किया गया था।[5] आरओसीएम स्टैक पिछले एएमडी जीपीयू स्टैक पर बनाता है, कुछ उपकरण जीपीयूओपन, अन्य हेटेरोगेनोस सिस्टम आर्किटेक्चर (एचएसए) पर वापस जाते हैं।
हेटेरोगेनोस सिस्टम आर्किटेक्चर
एचएसए का उद्देश्य मध्य-स्तर, हार्डवेयर-अज्ञेयवादी मध्यवर्ती प्रतिनिधित्व का उत्पादन करना था, जो उपयुक्त अंतिम रूप का उपयोग करके अंतिम हार्डवेयर (जीपीयू, एफपीजीए ...) के लिए जेआईटी-संकलित किया जा सकता है। आरओसीएम के लिए यह दृष्टिकोण हटा दिया गया था: अब यह एलएलवीएम का उपयोग करके केवल जीपीयू कोड बनाता है, और इसका एलएलवीएम बैकएंड जो उजान किया गया था,[6] चूंकि एलएलवीएम एमएलआईआर के साथ इस तरह के संवर्धित प्रतिरूपकता पर अभी भी शोध चल रहा है।[7]
माइक्रोसॉफ्ट एएमपी C ++ 1.2
प्रोग्रामिंग क्षमता
आरओसीएम स्टैक के रूप में कर्नेल ड्राइवर से लेकर एंड-यूज़र अनुप्रयोग तक होता है। एएमडी में एएमडी जीसीएन हार्डवेयर के बारे में [8] और आरओसीएम प्रोग्रामिंग[9] इसके लर्निंग पोर्टल के माध्यम से परिचयात्मक वीडियो हैं।[10]
स्टैक और आरओसीएम/एचआईपी प्रोग्रामिंग के बारे में सबसे अच्छे तकनीकी परिचयों में से एक, आज तक रेडिट पर पाया जाना बाकी है।[11]
उच्च स्तरीय प्रोग्रामिंग
एचआईपी प्रोग्रामिंग
एचआईपी (एचसीसी) कर्नेल भाषा
मेमोरी आवंटन
नुमा
हेटेरोगेनोस मेमोरी मॉडल और साझा वर्चुअल मेमोरी
आरओसीएम कोड ऑब्जेक्ट्स
कंप्यूट/ग्राफिक्स इंटरऑप
निम्न स्तर की प्रोग्रामिंग
हार्डवेयर अवलंब
आरओसीएम मुख्य रूप से असतत पेशेवर जीपीयू पर लक्षित है,[1], लेकिन अनौपचारिक अवलंब में वेगा- वर्ग और आरडीएनए2 उपभोक्ता जीपीयू सम्मिलित हैं।
एएमडी त्वरित प्रसंस्करण इकाई (एपीयू) सक्षम हैं, लेकिन आधिकारिक रूप से समर्थित नहीं हैं। आरओसीएम के कार्यशील होने में सम्मिलित है।[12]
प्रोफेशनल-ग्रेड जीपीयू
प्रोजुमर राडॉन प्रो के साथ एएमडी इंस्टिंक्ट प्रथम श्रेणी के आरओसीएम नागरिक हैं: वे ज्यादातर पूर्ण अवलंब देखते हैं।
जनवरी 2022 तक राडॉन VII (जीसीएन 5 - वेगा) एकमात्र उपभोक्ता-ग्रेड जीपीयू है जिसे अपेक्षाकृत समान अवलंब प्राप्त है।
उपभोक्ता-ग्रेड जीपीयू
| जीपीयू श्रृंखला का नाम | दक्षिण | समुद्र | ज्वालामुखी | आर्कटिक | वेगा | नवी 1एक्स | नवी 2एक्स | |
|---|---|---|---|---|---|---|---|---|
| विमोचित | जनवरी 2012 | सितंबर 2013 | जून 2015 | जून 2016 | जून 2017 | जुलाई 2019 | नवंबर 2020 | |
| मार्केटिंग का नाम | राडेन एचडी 7000 | राडेन आरएक्स 200 | राडेन आरएक्स 300 | राडेन आरएक्स 400/500 | राडॉन आरएक्स वेगा/राडॉन VII(7 एनएम) | राडेन आरएक्स 5000 | राडॉन आरएक्स 6000 | |
| एएमडी समर्थन | ||||||||
| निर्देश समुच्चय | जीसीएन निर्देश सेट | आरडीएनए निर्देश सेट | ||||||
| माइक्रोआर्किटेक्चर | जीसीएन 1st gen | जीसीएन 2nd gen | जीसीएन 3rd gen | जीसीएन 4th gen | जीसीएन 5th gen | आरडीएनए | आरडीएनए 2 | |
| प्रकार | एकीकृत शेडर मॉडल | |||||||
| आरओसीएम[13] | ||||||||
| ओपनसीएल | 1.2 (लिंक्स पर: 1.1 (कोई छवि समर्थन नहीं) मेसा 3डी के साथ) | 2.0 (Win7+ पर एड्रेनालाईन ड्राइवर)
(लिंक्स पर: 1.1 (कोई छवि समर्थन नहीं) मेसा 3डी के साथ, 2.0 एडीएमडी ड्राइवरों या एमडी आरओसीएम के साथ) |
2.0 | 2.1[14] | ||||
| वल्कन | 1.0 (Win 7+ or मेसा 17+) |
1.2 (एड्रेनालिन 20.1, लिंक्स मेसा 3डी 20.0) | ||||||
| शेडर मॉडल | 5.1 | 5.1 6.3 |
6.4 | 6.5 | ||||
| ओपनजीएल | 4.6 (लिंक्स पर: 4.6 (मेसा 3डी 20.0)) | |||||||
| डायरेक्ट 3 डी | 11 (11_1) 12 (11_1) |
11 (12_0) 12 (12_0) |
11 (12_1) 12 (12_1) |
11 (12_1) 12 (12_2) | ||||
/drm/amdgpu[lower-alpha 1]
|
Experimental[15] | |||||||
- ↑ DRM (Direct Rendering Manager) is a component of the Linux kernel.
सॉफ्टवेयर पारिस्थितिकी तंत्र
सीखने के संसाधन
एएमडी आरओसीएम उत्पाद प्रबंधक ने स्टैक का दौरा किया था।[16]
तृतीय-पक्ष एकीकरण
स्टैक के मुख्य उपभोक्ता मशीन लर्निंग और हाई-परफॉरमेंस कंप्यूटिंग/जीपीजीपीयू अनुप्रयोग हैं।
मशीन लर्निंग
विभिन्न डीप लर्निंग फ्रेमवर्क में आरओसीएम बैकएंड होता है:[17]
- पाइटौर्च
- टेंसरफ्लो
- ओएनएक्स
- अपाचे एमएक्सनेट
- क्यूपी[18]
- एमआईओपेन
- कैफ (सॉफ्टवेयर)
- इरी (जो एलएलवीएम मल्टी-लेवल इंटरमीडिएट रिप्रेजेंटेशन (एमएलआईआर) का उपयोग करता है)
सुपरकंप्यूटिंग
आरओसीएम टॉप500 में महत्वपूर्ण कर्षण प्राप्त कर रहा है।[19]आरओसीएम का उपयोग एक्सास्केल सुपरकंप्यूटर एल कैपिटन (सुपरकंप्यूटर)[20][21] और फ्रंटियर (सुपरकंप्यूटर) के साथ किया जाता है।
कुछ संबंधित सॉफ़्टवेयर एएमडी इन्फिनिटी हब पर उपलब्ध हैं।
अन्य त्वरण और ग्राफिक्स इंटरऑपरेशन
संस्करण 3.0 के अनुसार, ब्लेंडर (सॉफ्टवेयर) अब अपने रेंडरिंग (कंप्यूटर ग्राफिक्स) चक्रों के लिए एचआईपी कंप्यूट कर्नेल का उपयोग कर सकता है।[22]
अन्य भाषाएँ
जूलिया
जूलिया (प्रोग्रामिंग भाषा) में एएमडीजीपीयू.जेएल पैकेज है,[23] जो एलएलवीएम के साथ एकीकृत होता है और आरओसीएम स्टैक के घटकों का चयन करता है। एचआईपी के माध्यम से कोड संकलित करने के अतिरिक्त, एएमडीजीपीयू.जेएल सीधे एलएलवीएम आईआर उत्पन्न करने के लिए जूलिया के कंपाइलर का उपयोग करता है, जिसे बाद में एलएलवीएम द्वारा देशी डिवाइस कोड उत्पन्न करने के लिए उपयोग किया जाता है। एएमडीजीपीयू.जेएल डिवाइस पर नेटिव कोड अभिभारण करने और इसे निष्पादित करने के लिए आरओसीआर के एचएसए कार्यान्वयन का उपयोग करता है, ठीक उसी तरह जिस तरह एचआईपी अपने स्वयं के जनरेट किए गए डिवाइस कोड को लोड करता है।
एएमडीजीपीयू.जेएल भी आरओसीएम के रॉकब्लास (ब्लास के लिए), रॉकरैंड (यादृच्छिक संख्या जनन के लिए), और आरओसीके एफएफटी (एफएफटी के लिए) के साथ एकीकरण का अवलंब करता है। रोसाल्यूशन, रोको सॉल्वर, एमआईओपेन, और कुछ अन्य आरओसीएम लाइब्रेरी के साथ भविष्य के एकीकरण की योजना बनाई गई है।
सॉफ्टवेयर वितरण
आधिकारिक
आरओसीएम सॉफ्टवेयर वर्तमान में दर्जनों सार्वजनिक गिटहब रिपॉजिटरी में फैला हुआ है। मुख्य सार्वजनिक [https://github.com/radeonopencompute/rocm मेटा-रिपॉजिटरी] के भीतर, प्रत्येक अधिकारी के लिए एक्सएमएल मेनिफ़ेस्ट है रिलीज़: जीआईटी-रेपो का उपयोग करना, जीआईटी के शीर्ष पर निर्मित संस्करण नियंत्रण उपकरण, स्टैक के साथ स्थानीय रूप से समकालिक करने का अनुशंसित तरीका है।[24]
आरओसीएम 5.1 की रिलीज आसन्न है, संभवत: फरवरी के मध्य में हर महीने मामूली रिलीज दी जाती है।[17]
| स्टैक एरिया | सार्वजनिक गिटहब संगठन |
|---|---|
| निम्न-स्तर (अधिकतर) | https://github.com/radeonopencompute |
| मध्य स्तर (ज्यादातर) | https://github.com/rocm-developer-टूल |
| उच्च-स्तरीय (ज्यादातर) | https://github.com/rocmsoftwareplatform/ |
एएमडी आरओसीएम के लिए कंटेनरीकृत अनुप्रयोगों का वितरण विशेष रूप से एएमडी इन्फिनिटी हब के अनुसार एकत्र किए गए वैज्ञानिक अनुसंधान अनुप्रयोगों के लिए शुरू करता है।[25]
एएमडी विभिन्न लिनक्स वितरणों के अनुरूप पैकेज खुद को वितरित करता है।
तृतीय-पक्ष
तृतीय-पक्ष पारिस्थितिकी तंत्र पैकेजिंग आरओसीएम बढ़ रहा है।
लिनक्स वितरण आधिकारिक तौर पर (मूल रूप से) आरओसीएम की पैकेजिंग कर रहे हैं, उन्नति की विभिन्न डिग्री के साथ: आर्क,[26] जेंटू,[27] डेबियन और फेडोरा,[28] जीएनयू गुइक्स, निक्सओएस हैं।
स्पैक पैकेज हैं।[29]
कंपोनेंट्स
कर्नेल-स्पेस कंपोनेंट है, आरओसीके, और बाकी - स्टैक में लगभग सौ कंपोनेंट्स हैं - जो यूजर-स्पेस मॉड्यूल से बना है।
अनौपचारिक टाइपोग्राफ़िक नीति का उपयोग करना है: निम्न-स्तरीय लाइब्रेरी के लिए अपरकेस आरओसी लोअरकेस अनुसरण करना, अर्थात आरओसीटी, और इसके विपरीत उपयोगकर्ता-सामना करने वाले लाइब्रेरी के लिए, अर्थात रॉकब्लास है।[30]
एएमडी एलएलवीएम समुदाय के साथ सक्रिय विकास कर रहा है, लेकिन अपस्ट्रीमिंग तात्कालिक नहीं है, और जनवरी 2022 तक, अभी भी पिछड़ रहा है।[31] एएमडी अभी भी आधिकारिक तौर पर विभिन्न एलएलवीएम फोर्क्स को पैकेज करता है[32][33][7]उन हिस्सों के लिए जो अभी तक उजान नहीं हुए हैं - कंपाइलर ऑप्टिमाइज़ेशन स्वामित्व, डीबग अवलंब, ओपनएमपी ऑफ़लोडिंग रहने के लिए नियत हैं ...
निम्न स्तर
आरओसीके - कर्नेल ड्राइवर
आरओसीएम - डिवाइस लाइब्रेरी
सपोर्ट लाइब्रेरी एलएलवीएम बिटकोड के रूप में लागू किया गया हैं। ये गणित ऑपरेशंस, एटॉमिक्स, प्रारंभ पैरामीटर्स के लिए प्रश्नों, ऑन-डिवाइस कर्नेल प्रारंभ आदि के लिए विभिन्न यूटिलिटीज और फंक्शन प्रदान करते हैं।
आरओसीटी - थंक
थंक ढेर में जाने वाली सभी सोच और कतार के लिए ज़िम्मेदार है।
आरओसीआर - रनटाइम
आरओसी रनटाइम आरओसी कॉमन लैंग्वेज रनटाइम से इस मायने में अलग है कि यह एक ही नहीं है।
आरओसीएम - कंपाइलर सपोर्ट
आरओसीएम कोड ऑब्जेक्ट मैनेजर एलएलवीएम इंटरमीडिएट प्रतिनिधित्व के साथ अन्योन्यकारी करने के प्रभारी हैं।
मध्य स्तर
आरओसीक्लर सामान्य भाषा रनटाइम
सामान्य भाषा रनटाइम अप्रत्यक्ष स्तर है जो विंडोज़ पर लिनक्स और पाल पर आरओसीआर को कॉल्स को अनुकूलित करती है। यह एचएसएआईएल-कंपाइलर जैसे विभिन्न कंपाइलरों के बीच रूट करने में सक्षम होता था। यह अब ऊपरी अप्रत्यक्ष परतों (एचआईपी, ओपनसीएल) द्वारा अवशोषित किया जा रहा है।
ओपनसीएल
आरओसीएम अपने इंस्टाल करने योग्य क्लाइंट ड्राइवर आईसीडी लोडर और ओपनसीएल को [34] इम्प्लीमेंटेशन बुंदलेङ टुगेदर शिप करता है। जनवरी 2022 तक, आरओसीएम 4.5.2 ओपनसीएल 2.2 को शिप करता है, और प्रतिस्पर्धा में पिछड़ रहा है।[35]
हिप - पोर्टेबिलिटी के लिए हेटेरोगेनोस इंटरफ़ेस
इसके जीपीयू के लिए एएमडी कार्यान्वयन को एचआईपीएएमडी कहा जाता है। ज्यादातर प्रदर्शन उद्देश्यों के लिए सीपीयूकार्यान्वयन भी है।
एचआईपीसीसी
एचआईपी एक `एचआईपीसीसी` कंपाइलर बनाता है जो या तो क्लैङ को लपेटता है और एलएलवीएम खुले एएमडीजीपीयू बैकएंड के साथ संकलित करता है, या एनवीडिया क्यूडा कंपाइलर पर पुनर्निर्देशन करता है।[36]