आरओसीएम: Difference between revisions
(text) |
No edit summary |
||
| (8 intermediate revisions by 5 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>), यह विभिन्न अनुज्ञप्ति के अनुसार वितरित किया जाता है। | ||
{{TOC limit|5}} | {{TOC limit|5}} | ||
| Line 31: | Line 31: | ||
=== हेटेरोगेनोस सिस्टम आर्किटेक्चर === | === हेटेरोगेनोस सिस्टम आर्किटेक्चर === | ||
एचएसए का उद्देश्य मध्य-स्तर, हार्डवेयर-अज्ञेयवादी मध्यवर्ती प्रतिनिधित्व का उत्पादन करना था, जो उपयुक्त अंतिम रूप का उपयोग करके अंतिम हार्डवेयर (जीपीयू, एफपीजीए ...) के लिए जेआईटी-संकलित किया जा सकता है। आरओसीएम के लिए यह दृष्टिकोण हटा दिया गया था: अब यह [[एलएलवीएम]] का उपयोग करके केवल जीपीयू कोड बनाता है, और इसका एलएलवीएम बैकएंड जो उजान किया गया था,<ref>{{Cite web|url=https://llvm.org/docs/AMDGPUUsage.html|title=User Guide for AMDGPU Backend — LLVM 13 documentation|website=Llvm.org|access-date=January 18, 2022}}</ref> | एचएसए का उद्देश्य मध्य-स्तर, हार्डवेयर-अज्ञेयवादी मध्यवर्ती प्रतिनिधित्व का उत्पादन करना था, जो उपयुक्त अंतिम रूप का उपयोग करके अंतिम हार्डवेयर (जीपीयू, एफपीजीए ...) के लिए जेआईटी-संकलित किया जा सकता है। आरओसीएम के लिए यह दृष्टिकोण हटा दिया गया था: अब यह [[एलएलवीएम]] का उपयोग करके केवल जीपीयू कोड बनाता है, और इसका एलएलवीएम बैकएंड जो उजान किया गया था,<ref>{{Cite web|url=https://llvm.org/docs/AMDGPUUsage.html|title=User Guide for AMDGPU Backend — LLVM 13 documentation|website=Llvm.org|access-date=January 18, 2022}}</ref> चूंकि एलएलवीएम एमएलआईआर के साथ इस तरह के संवर्धित प्रतिरूपकता पर अभी भी शोध चल रहा है।<ref name="The LLVM Compiler Infrastructure">{{Cite web|url=https://github.com/ROCmSoftwarePlatform/llvm-project-mlir|title=The LLVM Compiler Infrastructure|website=[[GitHub]]|date=January 19, 2022}}</ref> | ||
=== माइक्रोसॉफ्ट एएमपी C ++ 1.2 === | === माइक्रोसॉफ्ट एएमपी C ++ 1.2 === | ||
== प्रोग्रामिंग क्षमता == | == प्रोग्रामिंग क्षमता == | ||
आरओसीएम स्टैक के रूप में कर्नेल ड्राइवर से लेकर एंड-यूज़र अनुप्रयोग तक होता | आरओसीएम स्टैक के रूप में कर्नेल ड्राइवर से लेकर एंड-यूज़र अनुप्रयोग तक होता है। एएमडी में एएमडी जीसीएन हार्डवेयर के बारे में <ref>{{Cite web|url=https://www.youtube.com/watch?v=uu-3aEyesWQ|title=Introduction to AMD GPU Hardware|via=www.youtube.com}}</ref> और आरओसीएम प्रोग्रामिंग<ref>{{Cite web|url=https://developer.amd.com/resources/rocm-learning-center/fundamentals-of-hip-programming/|title=Fundamentals of HIP Programming|website=AMD}}</ref> इसके लर्निंग पोर्टल के माध्यम से परिचयात्मक वीडियो हैं।<ref>{{Cite web|url=https://developer.amd.com/resources/rocm-learning-center/|title=ROCm™ Learning Center|website=AMD}}</ref> | ||
स्टैक और आरओसीएम/एचआईपी प्रोग्रामिंग के बारे में सबसे अच्छे तकनीकी परिचयों में से एक, आज तक रेडिट पर पाया जाना बाकी है।<ref>{{Cite web|url=http://www.reddit.com/r/Amd/comments/a9tjge/amd_rocm_hcc_programming_introduction/|title=AMD ROCm / HCC programming: Introduction|date=December 26, 2018}}</ref> | स्टैक और आरओसीएम/एचआईपी प्रोग्रामिंग के बारे में सबसे अच्छे तकनीकी परिचयों में से एक, आज तक रेडिट पर पाया जाना बाकी है।<ref>{{Cite web|url=http://www.reddit.com/r/Amd/comments/a9tjge/amd_rocm_hcc_programming_introduction/|title=AMD ROCm / HCC programming: Introduction|date=December 26, 2018}}</ref> | ||
| Line 57: | Line 57: | ||
== हार्डवेयर अवलंब == | == हार्डवेयर अवलंब == | ||
आरओसीएम मुख्य रूप से असतत पेशेवर जीपीयू पर लक्षित है,[https://docs.amd.com/bundle/ROCm-Getting-Started-Guide-v5.2.3/page/Introduction_to_AMD_ROCm_Getting_Started_Guide_for_Linux.html], लेकिन अनौपचारिक अवलंब में वेगा- वर्ग और आरडीएनए2 उपभोक्ता जीपीयू | आरओसीएम मुख्य रूप से असतत पेशेवर जीपीयू पर लक्षित है,[https://docs.amd.com/bundle/ROCm-Getting-Started-Guide-v5.2.3/page/Introduction_to_AMD_ROCm_Getting_Started_Guide_for_Linux.html], लेकिन अनौपचारिक अवलंब में वेगा- वर्ग और आरडीएनए2 उपभोक्ता जीपीयू सम्मिलित हैं। | ||
[[AMD Accelerated Processing Unit|एएमडी त्वरित प्रसंस्करण इकाई]] (एपीयू) सक्षम हैं, लेकिन आधिकारिक रूप से समर्थित नहीं हैं। आरओसीएम के कार्यशील होने में | [[AMD Accelerated Processing Unit|एएमडी त्वरित प्रसंस्करण इकाई]] (एपीयू) सक्षम हैं, लेकिन आधिकारिक रूप से समर्थित नहीं हैं। आरओसीएम के कार्यशील होने में सम्मिलित है।<ref>{{Cite web|url=https://www.reddit.com/r/Amd/comments/rd7mmi/heres_something_you_dont_see_every_day_pytorch/|title = Here's something you don't see every day: PyTorch running on top of ROCm on a 6800M (6700XT) laptop! Took a ton of minor config tweaks and a few patches but it actually functionally works. HUGE!|date = December 10, 2021}}</ref> | ||
{{See also|एएमडी ग्राफिक्स प्रोसेसिंग इकाइयों की सूची}} | {{See also|एएमडी ग्राफिक्स प्रोसेसिंग इकाइयों की सूची}} | ||
| Line 69: | Line 69: | ||
=== उपभोक्ता-ग्रेड जीपीयू === | === उपभोक्ता-ग्रेड जीपीयू === | ||
{| class="wikitable" style="font-size: 85%; text-align: center" | {| class="wikitable" style="font-size: 85%; text-align: center" | ||
! | ! [[Graphics processing unit|जीपीयू]] श्रृंखला का नाम | ||
! [[Radeon HD 7000 Series| | ! [[Radeon HD 7000 Series|दक्षिण]] | ||
! [[AMD Radeon Rx 200 series| | [[Radeon HD 7000 Series|द्वीप समूह]] | ||
! [[AMD Radeon Rx 300 series| | ! [[AMD Radeon Rx 200 series|समुद्र]] | ||
! [[AMD Radeon 400 series| | [[AMD Radeon Rx 200 series|द्वीप समूह]] | ||
! [[AMD RX Vega series| | ! [[AMD Radeon Rx 300 series|ज्वालामुखी]] | ||
! [[AMD Radeon RX 5000 series| | [[AMD Radeon Rx 300 series|द्वीप समूहl]] | ||
! [[AMD Radeon RX 6000 series| | ! [[AMD Radeon 400 series|आर्कटिक]] | ||
[[AMD Radeon 400 series|द्वीप / पोलारिस]] | |||
! [[AMD RX Vega series|वेगा]] | |||
! [[AMD Radeon RX 5000 series|नवी 1एक्स]] | |||
! [[AMD Radeon RX 6000 series|नवी 2एक्स]] | |||
|- style="border-top:2px solid grey" | |- style="border-top:2px solid grey" | ||
! {{rh}} | | ! {{rh}} |विमोचित | ||
| | |जनवरी 2012 | ||
| | |सितंबर 2013 | ||
| | |जून 2015 | ||
| | |जून 2016 | ||
| | | जून 2017 | ||
| | |जुलाई 2019 | ||
| | |नवंबर 2020 | ||
|- | |- | ||
! {{rh}} | | ! {{rh}} |मार्केटिंग का नाम | ||
| | |राडेन एचडी 7000 | ||
| | |राडेन आरएक्स 200 | ||
| | |राडेन आरएक्स 300 | ||
| | |राडेन आरएक्स 400/500 | ||
| | |राडॉन आरएक्स वेगा/राडॉन VII(7 एनएम) | ||
| | |राडेन आरएक्स 5000 | ||
| | |राडॉन आरएक्स 6000 | ||
|- | |- | ||
! {{rh}} | एएमडी | ! {{rh}} |एएमडी समर्थन | ||
| colspan="3" {{na}} || colspan=4 {{ya|Current}} | | colspan="3" {{na}} || colspan=4 {{ya|Current}} | ||
|- | |- | ||
! {{rh}} | [[Instruction set]] | ! {{rh}} | [[Instruction set|निर्देश समुच्चय]] | ||
| colspan=5 | [[Graphics Core Next#Instruction set|जीसीएन | | colspan=5 | [[Graphics Core Next#Instruction set|जीसीएन निर्देश सेट]] | ||
| colspan=2 | [[RDNA (microarchitecture)#Instruction set|आरडीएनए | | colspan=2 | [[RDNA (microarchitecture)#Instruction set|आरडीएनए निर्देश सेट]] | ||
|- | |- | ||
! {{rh}} | [[Microarchitecture]] | ! {{rh}} | [[Microarchitecture|माइक्रोआर्किटेक्चर]] | ||
| [[Graphics Core Next#first|जीसीएन 1st gen]] | | [[Graphics Core Next#first|जीसीएन 1st gen]] | ||
| [[Graphics Core Next#second|जीसीएन 2nd gen]] | | [[Graphics Core Next#second|जीसीएन 2nd gen]] | ||
| Line 112: | Line 116: | ||
| [[RDNA (microarchitecture)#RDNA 2|आरडीएनए 2]] | | [[RDNA (microarchitecture)#RDNA 2|आरडीएनए 2]] | ||
|- | |- | ||
! {{rh}} | | ! {{rh}} |प्रकार | ||
| colspan="7" |[[Unified shader model]] | | colspan="7" |[[Unified shader model|एकीकृत शेडर मॉडल]] | ||
|- style="border-top:2px solid grey" | |- style="border-top:2px solid grey" | ||
| Line 123: | Line 127: | ||
|- | |- | ||
! {{rh}} | [[OpenCL|ओपनसीएल]] | ! {{rh}} | [[OpenCL|ओपनसीएल]] | ||
|1.2 ( | |1.2 (लिंक्स पर: 1.1 (कोई छवि समर्थन नहीं) मेसा 3डी के साथ) | ||
| colspan=4 | 2.0 ( | | colspan=4 |2.0 (Win7+ पर एड्रेनालाईन ड्राइवर) | ||
(लिंक्स पर: 1.1 (कोई छवि समर्थन नहीं) मेसा 3डी के साथ, 2.0 एडीएमडी ड्राइवरों या एमडी आरओसीएम के साथ) | |||
| 2.0 | | 2.0 | ||
| 2.1<ref>{{cite web |title=AMD Radeon RX 6800 XT Specs |url=https://www.techpowerup.com/gpu-specs/radeon-rx-6800-xt.c3694 |website=TechPowerUp |access-date=January 1, 2021}}</ref> | | 2.1<ref>{{cite web |title=AMD Radeon RX 6800 XT Specs |url=https://www.techpowerup.com/gpu-specs/radeon-rx-6800-xt.c3694 |website=TechPowerUp |access-date=January 1, 2021}}</ref> | ||
|- | |- | ||
! {{rh}} | [[Vulkan (API)| | ! {{rh}} | [[Vulkan (API)|वल्कन]] | ||
| 1.0<br />([[Windows 7|Win 7+]] or [[Mesa (computer graphics)| | | 1.0<br />([[Windows 7|Win 7+]] or [[Mesa (computer graphics)|मेसा 17+]]) | ||
| colspan=6 | 1.2 ( | | colspan=6 |1.2 (एड्रेनालिन 20.1, लिंक्स मेसा 3डी 20.0) | ||
|- | |- | ||
! {{rh}} | [[High-Level Shading Language#Shader model comparison| | ! {{rh}} | [[High-Level Shading Language#Shader model comparison|शेडर मॉडल]] | ||
| 5.1 | | 5.1 | ||
| colspan=3 | 5.1<br />6.3 | | colspan=3 | 5.1<br />6.3 | ||
| Line 139: | Line 145: | ||
| 6.5 | | 6.5 | ||
|- | |- | ||
! {{rh}} | [[OpenGL]] | ! {{rh}} | [[OpenGL|ओपनजीएल]] | ||
| colspan=7 | 4.6 ( | | colspan=7 |4.6 (लिंक्स पर: 4.6 (मेसा 3डी 20.0)) | ||
|- | |- | ||
! {{rh}} | [[Direct3D]] | ! {{rh}} | [[Direct3D|डायरेक्ट 3 डी]] | ||
| 11 ([[Feature levels in Direct3D#Direct3D 11|11_1]])<br />12 ([[Feature levels in Direct3D#Direct3D 12|11_1]]) | | 11 ([[Feature levels in Direct3D#Direct3D 11|11_1]])<br />12 ([[Feature levels in Direct3D#Direct3D 12|11_1]]) | ||
| colspan=3 | 11 ([[Feature levels in Direct3D#Direct3D 11|12_0]])<br />12 ([[Feature levels in Direct3D#Direct3D 12|12_0]]) | | colspan=3 | 11 ([[Feature levels in Direct3D#Direct3D 11|12_0]])<br />12 ([[Feature levels in Direct3D#Direct3D 12|12_0]]) | ||
| Line 158: | Line 164: | ||
{{efn|name="drm"|DRM ([[Direct Rendering Manager]]) is a component of the [[Linux kernel]].}} | {{efn|name="drm"|DRM ([[Direct Rendering Manager]]) is a component of the [[Linux kernel]].}} | ||
}} | }} | ||
== सॉफ्टवेयर पारिस्थितिकी तंत्र == | == सॉफ्टवेयर पारिस्थितिकी तंत्र == | ||
| Line 189: | Line 193: | ||
===== जूलिया ===== | ===== जूलिया ===== | ||
[[जूलिया (प्रोग्रामिंग भाषा)]] में एएमडीजीपीयू.जेएल पैकेज है,<ref>{{Cite web|url=https://juliagpu.org/rocm/|title=AMD ROCm ⋅ JuliaGPU|website=juliagpu.org}}</ref> जो एलएलवीएम के साथ एकीकृत होता है और आरओसीएम स्टैक के घटकों का चयन करता है। एचआईपी के माध्यम से कोड संकलित करने के | [[जूलिया (प्रोग्रामिंग भाषा)]] में एएमडीजीपीयू.जेएल पैकेज है,<ref>{{Cite web|url=https://juliagpu.org/rocm/|title=AMD ROCm ⋅ JuliaGPU|website=juliagpu.org}}</ref> जो एलएलवीएम के साथ एकीकृत होता है और आरओसीएम स्टैक के घटकों का चयन करता है। एचआईपी के माध्यम से कोड संकलित करने के अतिरिक्त, एएमडीजीपीयू.जेएल सीधे एलएलवीएम आईआर उत्पन्न करने के लिए जूलिया के कंपाइलर का उपयोग करता है, जिसे बाद में एलएलवीएम द्वारा देशी डिवाइस कोड उत्पन्न करने के लिए उपयोग किया जाता है। एएमडीजीपीयू.जेएल डिवाइस पर नेटिव कोड अभिभारण करने और इसे निष्पादित करने के लिए आरओसीआर के एचएसए कार्यान्वयन का उपयोग करता है, ठीक उसी तरह जिस तरह एचआईपी अपने स्वयं के जनरेट किए गए डिवाइस कोड को लोड करता है। | ||
एएमडीजीपीयू.जेएल भी आरओसीएम के रॉकब्लास (ब्लास के लिए), रॉकरैंड (यादृच्छिक संख्या जनन के लिए), और आरओसीके एफएफटी (एफएफटी के लिए) के साथ एकीकरण का अवलंब करता है। रोसाल्यूशन, रोको सॉल्वर, एमआईओपेन, और कुछ अन्य आरओसीएम लाइब्रेरी के साथ भविष्य के एकीकरण की योजना बनाई गई है। | एएमडीजीपीयू.जेएल भी आरओसीएम के रॉकब्लास (ब्लास के लिए), रॉकरैंड (यादृच्छिक संख्या जनन के लिए), और आरओसीके एफएफटी (एफएफटी के लिए) के साथ एकीकरण का अवलंब करता है। रोसाल्यूशन, रोको सॉल्वर, एमआईओपेन, और कुछ अन्य आरओसीएम लाइब्रेरी के साथ भविष्य के एकीकरण की योजना बनाई गई है। | ||
| Line 209: | Line 213: | ||
|- | |- | ||
|मध्य स्तर (ज्यादातर) | |मध्य स्तर (ज्यादातर) | ||
|https://github.com/rocm-developer-tools | |[https://github.com/rocm-developer-tools https://github.com/rocm-developer-टूल] | ||
|- | |- | ||
|उच्च-स्तरीय (ज्यादातर) | |उच्च-स्तरीय (ज्यादातर) | ||
|https://github.com/rocmsoftwareplatform/ | |https://github.com/rocmsoftwareplatform/ | ||
|} | |} | ||
एएमडी आरओसीएम के लिए कंटेनरीकृत अनुप्रयोगों का वितरण विशेष रूप से [https://www.amd.com/en/technologies/infinity-hub एएमडी इन्फिनिटी हब] के | एएमडी आरओसीएम के लिए कंटेनरीकृत अनुप्रयोगों का वितरण विशेष रूप से [https://www.amd.com/en/technologies/infinity-hub एएमडी इन्फिनिटी हब] के अनुसार एकत्र किए गए वैज्ञानिक अनुसंधान अनुप्रयोगों के लिए शुरू करता है।<ref>{{Cite web|url=https://www.hpcwire.com/2021/10/18/running-scientific-applications-on-amd-instinct-accelerators-just-got-easier|title=Running Scientific Applications on AMD Instinct Accelerators Just Got Easier|date=October 18, 2021|access-date=January 25, 2022|website=HPCwire.com}}</ref> | ||
एएमडी विभिन्न लिनक्स वितरणों के अनुरूप पैकेज [https://repo.radeon.com/rocm खुद को वितरित करता है]। | एएमडी विभिन्न लिनक्स वितरणों के अनुरूप पैकेज [https://repo.radeon.com/rocm खुद को वितरित करता है]। | ||
| Line 226: | Line 230: | ||
स्पैक पैकेज हैं।<ref>{{Cite web|url=https://github.com/spack/spack|title=The Spack Package Manager: Bringing Order to HPC Software Chaos|first1=Todd|last1=Gamblin|first2=Matthew|last2=LeGendre|first3=Michael R.|last3=Collette|first4=Gregory L.|last4=Lee|first5=Adam|last5=Moody|first6=Bronis R.|last6=de Supinski|first7=Scott|last7=Futral|date=November 15, 2015|via=GitHub}}</ref> | स्पैक पैकेज हैं।<ref>{{Cite web|url=https://github.com/spack/spack|title=The Spack Package Manager: Bringing Order to HPC Software Chaos|first1=Todd|last1=Gamblin|first2=Matthew|last2=LeGendre|first3=Michael R.|last3=Collette|first4=Gregory L.|last4=Lee|first5=Adam|last5=Moody|first6=Bronis R.|last6=de Supinski|first7=Scott|last7=Futral|date=November 15, 2015|via=GitHub}}</ref> | ||
== कंपोनेंट्स == | == कंपोनेंट्स == | ||
कर्नेल-स्पेस कंपोनेंट है,आरओसीके, और बाकी - स्टैक में लगभग सौ कंपोनेंट्स हैं - जो यूजर-स्पेस मॉड्यूल से बना है। | कर्नेल-स्पेस कंपोनेंट है, आरओसीके, और बाकी - स्टैक में लगभग सौ कंपोनेंट्स हैं - जो यूजर-स्पेस मॉड्यूल से बना है। | ||
अनौपचारिक टाइपोग्राफ़िक नीति का उपयोग करना है: निम्न-स्तरीय लाइब्रेरी के लिए अपरकेस आरओसी लोअरकेस अनुसरण करना, | अनौपचारिक टाइपोग्राफ़िक नीति का उपयोग करना है: निम्न-स्तरीय लाइब्रेरी के लिए अपरकेस आरओसी लोअरकेस अनुसरण करना, अर्थात आरओसीटी, और इसके विपरीत उपयोगकर्ता-सामना करने वाले लाइब्रेरी के लिए, अर्थात रॉकब्लास है।<ref>{{Cite mailing list|url=https://lists.debian.org/debian-ai/2021/12/msg00028.html|title=20211221 Packaging session notes and small update|mailing-list=debian-ai@lists.debian.org|last=Bloor|first=Cordell|language=english|access-date=January 18, 2022}}</ref> | ||
एएमडी एलएलवीएम समुदाय के साथ सक्रिय विकास कर रहा है, लेकिन अपस्ट्रीमिंग तात्कालिक नहीं है, और जनवरी 2022 तक, अभी भी पिछड़ रहा है।<ref>{{Cite web|url=https://github.com/ROCm-Developer-Tools/HIP/issues/2449|title = [Debian official packaging] How is ROCm LLVM fork still needed? · Issue #2449 · ROCm-Developer-Tools/HIP|website = [[GitHub]]}}</ref> एएमडी अभी भी आधिकारिक तौर पर विभिन्न एलएलवीएम फोर्क्स को पैकेज करता है<ref>{{Cite web|url=https://github.com/ROCm-Developer-Tools/aomp|title = Aomp - V 14.0-1|website = [[GitHub]]|date = January 22, 2022}}</ref><ref>{{Cite web|url=https://github.com/RadeonOpenCompute/llvm-project|title = The LLVM Compiler Infrastructure|website = [[GitHub]]|date = January 10, 2022}}</ref><ref name="The LLVM Compiler Infrastructure" />उन हिस्सों के लिए जो अभी तक उजान नहीं हुए हैं - कंपाइलर ऑप्टिमाइज़ेशन स्वामित्व, डीबग अवलंब, ओपनएमपी ऑफ़लोडिंग रहने के लिए नियत हैं ... | एएमडी एलएलवीएम समुदाय के साथ सक्रिय विकास कर रहा है, लेकिन अपस्ट्रीमिंग तात्कालिक नहीं है, और जनवरी 2022 तक, अभी भी पिछड़ रहा है।<ref>{{Cite web|url=https://github.com/ROCm-Developer-Tools/HIP/issues/2449|title = [Debian official packaging] How is ROCm LLVM fork still needed? · Issue #2449 · ROCm-Developer-Tools/HIP|website = [[GitHub]]}}</ref> एएमडी अभी भी आधिकारिक तौर पर विभिन्न एलएलवीएम फोर्क्स को पैकेज करता है<ref>{{Cite web|url=https://github.com/ROCm-Developer-Tools/aomp|title = Aomp - V 14.0-1|website = [[GitHub]]|date = January 22, 2022}}</ref><ref>{{Cite web|url=https://github.com/RadeonOpenCompute/llvm-project|title = The LLVM Compiler Infrastructure|website = [[GitHub]]|date = January 10, 2022}}</ref><ref name="The LLVM Compiler Infrastructure" />उन हिस्सों के लिए जो अभी तक उजान नहीं हुए हैं - कंपाइलर ऑप्टिमाइज़ेशन स्वामित्व, डीबग अवलंब, ओपनएमपी ऑफ़लोडिंग रहने के लिए नियत हैं ... | ||
| Line 251: | Line 255: | ||
==== आरओसीक्लर सामान्य भाषा रनटाइम ==== | ==== आरओसीक्लर सामान्य भाषा रनटाइम ==== | ||
[https://github.com/rocm-developer-tools/rocclr सामान्य भाषा रनटाइम] अप्रत्यक्ष | [https://github.com/rocm-developer-tools/rocclr सामान्य भाषा रनटाइम] अप्रत्यक्ष स्तर है जो विंडोज़ पर लिनक्स और पाल पर आरओसीआर को कॉल्स को अनुकूलित करती है। यह एचएसएआईएल-कंपाइलर जैसे विभिन्न कंपाइलरों के बीच रूट करने में सक्षम होता था। यह अब ऊपरी अप्रत्यक्ष परतों (एचआईपी, ओपनसीएल) द्वारा अवशोषित किया जा रहा है। | ||
==== ओपनसीएल ==== | ==== ओपनसीएल ==== | ||
| Line 268: | Line 272: | ||
एचआईपीआईएफवाई की तरह, [https://github.com/rocmsoftwareplatform/gpufort जीपीयूएफओआरटी] एक टूल है जो स्रोत कोड को अन्य तीसरी जनन के भाषा स्रोतों में संकलित करता है, जिससे उपयोगकर्ता क्यूडा फोरट्रान से एचआईपी फोरट्रान में प्रवास कर सकते हैं। यह अनुसंधान परियोजनाओं के प्रदर्शनों की सूची में भी है, इससे भी ज्यादा भी है।<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=AMD-Radeon-GPUFORT|title = AMD Publishes Open-Source "GPUFORT" as Newest Effort to Help Transition Away from CUDA}}</ref> | एचआईपीआईएफवाई की तरह, [https://github.com/rocmsoftwareplatform/gpufort जीपीयूएफओआरटी] एक टूल है जो स्रोत कोड को अन्य तीसरी जनन के भाषा स्रोतों में संकलित करता है, जिससे उपयोगकर्ता क्यूडा फोरट्रान से एचआईपी फोरट्रान में प्रवास कर सकते हैं। यह अनुसंधान परियोजनाओं के प्रदर्शनों की सूची में भी है, इससे भी ज्यादा भी है।<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=AMD-Radeon-GPUFORT|title = AMD Publishes Open-Source "GPUFORT" as Newest Effort to Help Transition Away from CUDA}}</ref> | ||
=== उच्च स्तर === | === उच्च स्तर === | ||
आरओसीएम उच्च-स्तरीय लाइब्रेरीको | आरओसीएम उच्च-स्तरीय लाइब्रेरीको सामान्यतः [[यंत्र अधिगम]] फ्रेमवर्क जैसे अनुप्रयोग सॉफ़्टवेयर द्वारा सीधे उपयोग किया जाता है। निम्नलिखित में से अधिकांश लाइब्रेरी [[सामान्य मैट्रिक्स गुणा]] (जीईएमएम) श्रेणी में हैं, जिसमें जीपीयू आर्किटेक्चर उत्कृष्ट है। | ||
इनमें से अधिकांश उपयोगकर्ता-सामना करने वाले | इनमें से अधिकांश उपयोगकर्ता-सामना करने वाले लाइब्रेरी दोहरे रूप में आते हैं: अप्रत्यक्ष स्तर के लिए हिप जो एनवीडिया हार्डवेयर को रूट कर सकता है, और एएमडी कार्यान्वयन के लिए आरओसी को रूट कर सकता है।<ref> | ||
{{Cite conference | {{Cite conference | ||
|url=https://www.olcf.ornl.gov/wp-content/uploads/2021/04/SPOCK_Libraries_profiling_JMaia.pdf | |url=https://www.olcf.ornl.gov/wp-content/uploads/2021/04/SPOCK_Libraries_profiling_JMaia.pdf | ||
| Line 293: | Line 297: | ||
| publisher=AMD | | publisher=AMD | ||
}}</ref> | }}</ref> | ||
==== रोकब्लास / हिपब्लास ==== | ==== रोकब्लास / हिपब्लास ==== | ||
[https://github.com/rocmsoftwareplatform/rocblas रॉकब्लास] और [https://github.com/rocmsoftwareplatform/hipblashipBLAS] उच्च-स्तरीय लाइब्रेरीमें केंद्रीय हैं, यह [[बुनियादी रेखीय बीजगणित उपप्रोग्राम]] के लिए एएमडी कार्यान्वयन है। | [https://github.com/rocmsoftwareplatform/rocblas रॉकब्लास] और [https://github.com/rocmsoftwareplatform/hipblashipBLAS] उच्च-स्तरीय लाइब्रेरीमें केंद्रीय हैं, यह [[बुनियादी रेखीय बीजगणित उपप्रोग्राम]] के लिए एएमडी कार्यान्वयन है। यह निजी तौर पर लाइब्रेरी [https://github.com/ROCmSoftwarePlatform/Tensile टेन्साइल] का उपयोग करता है। | ||
यह निजी तौर पर | |||
==== रॉक्सोल्वर / हिप्सोल्वर ==== | ==== रॉक्सोल्वर / हिप्सोल्वर ==== | ||
लाइब्रेरीकी यह जोड़ी आरओसीएम के लिए [[LAPACK]] कार्यान्वयन का गठन करती है और इसे रॉकब्लास से मजबूती से जोड़ा जाता है। | लाइब्रेरीकी यह जोड़ी आरओसीएम के लिए [[LAPACK|लैपैक]] कार्यान्वयन का गठन करती है और इसे रॉकब्लास से मजबूती से जोड़ा जाता है। | ||
=== उपयोगिताएँ === | === उपयोगिताएँ === | ||
* [https://github.com/orgs/ROCm-Developer-Tools आरओसीएम डेवलपर टूल]: डिबग, ट्रेसर, प्रोफाइलर, सिस्टम मैनेजमेंट इंटरफेस, वैलिडेशन सूट, क्लस्टर मैनेजमेंट। | * [https://github.com/orgs/ROCm-Developer-Tools आरओसीएम डेवलपर टूल]: डिबग, ट्रेसर, प्रोफाइलर, सिस्टम मैनेजमेंट इंटरफेस, वैलिडेशन सूट, क्लस्टर मैनेजमेंट। | ||
* [https://github.com/GPUOpen-Tools | * [https://github.com/GPUOpen-Tools जीपीयूओपन टूल]: जीपीयू विश्लेषक, मेमोरी विज़ुअलाइज़र... | ||
* बाहरी उपकरण: रैडॉनटॉप (पाठ-आधारित उपयोगकर्ता इंटरफ़ेस अवलोकन) | * बाहरी उपकरण: रैडॉनटॉप (पाठ-आधारित उपयोगकर्ता इंटरफ़ेस अवलोकन) | ||
== प्रतिस्पर्धियों के साथ तुलना == | == प्रतिस्पर्धियों के साथ तुलना == | ||
आरओसीएम जीपीयू कंप्यूटिंग के उद्देश्य से समान स्टैक का | आरओसीएम जीपीयू कंप्यूटिंग के उद्देश्य से समान स्टैक का प्रतियोगी है: एनवीडिया सीयूडीए और वनएपीआई (कंप्यूट त्वरण)। | ||
=== एनवीडिया क्यूडा === | === एनवीडिया क्यूडा === | ||
{{Main| | {{Main|क्यूडा}} | ||
क्यूब्लास और ऐसी उच्च-स्तरीय लाइब्रेरी तक एनवीडिया क्लोज-सोर्स है।<br /> | क्यूब्लास और ऐसी उच्च-स्तरीय लाइब्रेरी तक एनवीडिया क्लोज-सोर्स है।<br />एनवीडिया क्यूडा कम्पाइलर (एनवीसीसी) के रूप में क्लैंग फ्रंटएंड और इसके [[समानांतर थ्रेड निष्पादन]] (पीटीएक्स) एलएलवीएम जीपीयू बैकएंड को वेंडर करता है।<br />इसके ऊपर एक ओपन-सोर्स लेयर है, उदाहरण के लिए [https://github.com/rapidsai रैपिड्स] है। | ||
इसके ऊपर एक ओपन-सोर्स लेयर है, उदाहरण के लिए [https://github.com/rapidsai | |||
=== इंटेल वनएपीआई === | === इंटेल वनएपीआई === | ||
{{Main| | {{Main|वनएपीआई (गणना त्वरण)}} | ||
== यह भी देखें == | == यह भी देखें == | ||
*एएमडी | *एएमडी सॉफ्टवेयर - एएमडी के ड्राइवरों, एपीआई और विकास प्रयासों का एक सामान्य अवलोकन। | ||
*जीपीयूओपन - एएमडी का पूरक ग्राफ़िक्स स्टैक | *जीपीयूओपन - एएमडी का पूरक ग्राफ़िक्स स्टैक | ||
*[[AMD Radeon Software|एएमडी | *[[AMD Radeon Software|एएमडी राडॉन सॉफ्टवेयर]] - एएमडी का सॉफ्टवेयर वितरण चैनल | ||
==संदर्भ== | ==संदर्भ== | ||
| Line 347: | 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: | [[Category:Articles with hatnote templates targeting a nonexistent page]] | ||
[[Category:CS1 English-language sources (en)]] | |||
[[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]
एचआईपीआईएफवाई
एचआईपीआईएफवाई एक सोर्स-टू-सोर्स कंपाइलिंग टूल है, यह क्यूडा को एचआईपी और विपरीत में बदलता है, या तो क्लैंग-बेस्ड टूल या सीड-जैसे पर्ल का उपयोग करता है।
जीपीयूएफओआरटी
एचआईपीआईएफवाई की तरह, जीपीयूएफओआरटी एक टूल है जो स्रोत कोड को अन्य तीसरी जनन के भाषा स्रोतों में संकलित करता है, जिससे उपयोगकर्ता क्यूडा फोरट्रान से एचआईपी फोरट्रान में प्रवास कर सकते हैं। यह अनुसंधान परियोजनाओं के प्रदर्शनों की सूची में भी है, इससे भी ज्यादा भी है।[37]
उच्च स्तर
आरओसीएम उच्च-स्तरीय लाइब्रेरीको सामान्यतः यंत्र अधिगम फ्रेमवर्क जैसे अनुप्रयोग सॉफ़्टवेयर द्वारा सीधे उपयोग किया जाता है। निम्नलिखित में से अधिकांश लाइब्रेरी सामान्य मैट्रिक्स गुणा (जीईएमएम) श्रेणी में हैं, जिसमें जीपीयू आर्किटेक्चर उत्कृष्ट है।
इनमें से अधिकांश उपयोगकर्ता-सामना करने वाले लाइब्रेरी दोहरे रूप में आते हैं: अप्रत्यक्ष स्तर के लिए हिप जो एनवीडिया हार्डवेयर को रूट कर सकता है, और एएमडी कार्यान्वयन के लिए आरओसी को रूट कर सकता है।[38]
रोकब्लास / हिपब्लास
रॉकब्लास और [2] उच्च-स्तरीय लाइब्रेरीमें केंद्रीय हैं, यह बुनियादी रेखीय बीजगणित उपप्रोग्राम के लिए एएमडी कार्यान्वयन है। यह निजी तौर पर लाइब्रेरी टेन्साइल का उपयोग करता है।
रॉक्सोल्वर / हिप्सोल्वर
लाइब्रेरीकी यह जोड़ी आरओसीएम के लिए लैपैक कार्यान्वयन का गठन करती है और इसे रॉकब्लास से मजबूती से जोड़ा जाता है।
उपयोगिताएँ
- आरओसीएम डेवलपर टूल: डिबग, ट्रेसर, प्रोफाइलर, सिस्टम मैनेजमेंट इंटरफेस, वैलिडेशन सूट, क्लस्टर मैनेजमेंट।
- जीपीयूओपन टूल: जीपीयू विश्लेषक, मेमोरी विज़ुअलाइज़र...
- बाहरी उपकरण: रैडॉनटॉप (पाठ-आधारित उपयोगकर्ता इंटरफ़ेस अवलोकन)
प्रतिस्पर्धियों के साथ तुलना
आरओसीएम जीपीयू कंप्यूटिंग के उद्देश्य से समान स्टैक का प्रतियोगी है: एनवीडिया सीयूडीए और वनएपीआई (कंप्यूट त्वरण)।
एनवीडिया क्यूडा
क्यूब्लास और ऐसी उच्च-स्तरीय लाइब्रेरी तक एनवीडिया क्लोज-सोर्स है।
एनवीडिया क्यूडा कम्पाइलर (एनवीसीसी) के रूप में क्लैंग फ्रंटएंड और इसके समानांतर थ्रेड निष्पादन (पीटीएक्स) एलएलवीएम जीपीयू बैकएंड को वेंडर करता है।
इसके ऊपर एक ओपन-सोर्स लेयर है, उदाहरण के लिए रैपिड्स है।
इंटेल वनएपीआई
यह भी देखें
- एएमडी सॉफ्टवेयर - एएमडी के ड्राइवरों, एपीआई और विकास प्रयासों का एक सामान्य अवलोकन।
- जीपीयूओपन - एएमडी का पूरक ग्राफ़िक्स स्टैक
- एएमडी राडॉन सॉफ्टवेयर - एएमडी का सॉफ्टवेयर वितरण चैनल
संदर्भ
- ↑ "ROCm 5.3 release". GitHub. October 4, 2022. Retrieved October 10, 2022.
- ↑ "Question: What does ROCm stand for? · Issue #1628 · RadeonOpenCompute/ROCm". Github.com. Retrieved January 18, 2022.
- ↑ "Debian -- Details of package firmware-amd-graphics in buster". Packages.debian.org. Retrieved January 18, 2022.
- ↑ "AMD @ SC16: Radeon Open Compute Platform (ROCm) 1.3 Released, Boltzmann Comes to Fruition". anandtech.com. Retrieved January 19, 2022.
- ↑ "AMD @ SC15: Boltzmann Initiative Announced - C++ and CUDA Compilers for AMD GPUs". anandtech.com. Retrieved January 19, 2022.
- ↑ "User Guide for AMDGPU Backend — LLVM 13 documentation". Llvm.org. Retrieved January 18, 2022.
- ↑ 7.0 7.1 "The LLVM Compiler Infrastructure". GitHub. January 19, 2022.
- ↑ "Introduction to AMD GPU Hardware" – via www.youtube.com.
- ↑ "Fundamentals of HIP Programming". AMD.
- ↑ "ROCm™ Learning Center". AMD.
- ↑ "AMD ROCm / HCC programming: Introduction". December 26, 2018.
- ↑ "Here's something you don't see every day: PyTorch running on top of ROCm on a 6800M (6700XT) laptop! Took a ton of minor config tweaks and a few patches but it actually functionally works. HUGE!". December 10, 2021.
- ↑ "ROCm Getting Started Guide v5.2.3".
- ↑ "AMD Radeon RX 6800 XT Specs". TechPowerUp. Retrieved January 1, 2021.
- ↑ Larabel, Michael (December 7, 2016). "The Best Features of the Linux 4.9 Kernel". Phoronix. Retrieved December 7, 2016.
- ↑ "ROCm presentation". HPCwire.com. July 6, 2020. Retrieved January 18, 2022.
- ↑ 17.0 17.1 "AMD Introduces Its Deep-Learning Accelerator Instinct MI200 Series GPUs". Infoq.com. Retrieved January 18, 2022.
- ↑ "Installation".
- ↑ "AMD Chips Away at Intel in World's Top 500 Supercomputers as GPU War Looms". November 16, 2020.
- ↑ "El Capitan Supercomputer Detailed: AMD CPUs & GPUs to Drive 2 Exaflops of Compute".
- ↑ "Livermore's el Capitan Supercomputer to Debut HPE 'Rabbit' Near Node Local Storage". February 18, 2021.
- ↑ "Blender 3.0 takes support for AMD GPUs to the next level. Beta support available now!". Gpuopen.com. November 15, 2021. Retrieved January 18, 2022.
- ↑ "AMD ROCm ⋅ JuliaGPU". juliagpu.org.
- ↑ "ROCm Installation v4.3 — ROCm 4.5.0 documentation". Rocmdocs.amd.com. Retrieved January 18, 2022.
- ↑ "Running Scientific Applications on AMD Instinct Accelerators Just Got Easier". HPCwire.com. October 18, 2021. Retrieved January 25, 2022.
- ↑ "ROCm for Arch Linux". Github.com. January 17, 2022. Retrieved January 18, 2022.
- ↑ "Gentoo Linux Packages Up AMD ROCm, Makes Progress On RISC-V, LTO+PGO Python". Phoronix.com. Retrieved January 18, 2022.
- ↑ "Fedora & Debian Developers Look At Packaging ROCm For Easier Radeon GPU Computing Experience". Phoronix.com. Retrieved January 18, 2022.
- ↑ Gamblin, Todd; LeGendre, Matthew; Collette, Michael R.; Lee, Gregory L.; Moody, Adam; de Supinski, Bronis R.; Futral, Scott (November 15, 2015). "The Spack Package Manager: Bringing Order to HPC Software Chaos" – via GitHub.
- ↑ Bloor, Cordell. "20211221 Packaging session notes and small update". debian-ai@lists.debian.org (Mailing list) (in English). Retrieved January 18, 2022.
- ↑ "[Debian official packaging] How is ROCm LLVM fork still needed? · Issue #2449 · ROCm-Developer-Tools/HIP". GitHub.
- ↑ "Aomp - V 14.0-1". GitHub. January 22, 2022.
- ↑ "The LLVM Compiler Infrastructure". GitHub. January 10, 2022.
- ↑ "Khronos OpenCL Registry - The Khronos Group Inc". www.khronos.org.
- ↑ "List of OpenCL Conformant Products - The Khronos Group Inc". www.khronos.org. February 3, 2022.
- ↑ "Figure 3. HIPCC compilation process illustration. The clang compiler".
- ↑ "AMD Publishes Open-Source "GPUFORT" as Newest Effort to Help Transition Away from CUDA".
- ↑ Maia, Julio; Chalmers, Noel; T. Bauman, Paul; Curtis, Nicholas; Malaya, Nicholas; McDougall, Damon; van Oostrum, Rene; Wolfe, Noah (May 2021). ROCm Library Support & Profiling Tools (PDF). AMD.
बाहरी संबंध
- "ROCm official documentation". AMD. February 10, 2022.
- "ROCm Learning Center". AMD. January 25, 2022.
- "ROCm official documentation on the github super-project". AMD. January 25, 2022.
- "ROCm official documentation - pre 5.0". AMD. January 19, 2022.
- "GPU-Accelerated Applications with AMD Instinct Accelerators & AMD ROCm Software" (PDF). AMD. January 25, 2022.
- "AMD Infinity Hub". AMD. January 25, 2022. — Docker containers for scientific applications.