अंग्रेज़ी से अनुवादित

ROCm एएमडी का GPU कंप्यूटिंग के लिए ओपन-सोर्स सॉफ्टवेयर स्टैक है, जो HIP, OpenMP और OpenCL जैसे प्रोग्रामिंग मॉडल का समर्थन करता है। यह GPGPU, HPC और विषम कंप्यूटिंग तक फैला हुआ है, और सुपरकंप्यूटर और मशीन लर्निंग फ्रेमवर्क में उपयोग किया जाता है।

ROCm एक सॉफ्टवेयर स्टैक है जिसे एडवांस्ड माइक्रो डिवाइसेज (AMD) द्वारा ग्राफिक्स प्रोसेसिंग यूनिट (GPU) प्रोग्रामिंग के लिए विकसित किया गया है। यह कई डोमेन में फैला हुआ है, जिसमें ग्राफिक्स प्रोसेसिंग यूनिट्स पर सामान्य-उद्देश्यीय कंप्यूटिंग (GPGPU), उच्च-प्रदर्शन कंप्यूटिंग (HPC), और विषम कंप्यूटिंग शामिल हैं। ROCm कई प्रोग्रामिंग मॉडल प्रदान करता है, जिनमें HIP (GPU-कर्नेल-आधारित प्रोग्रामिंग), OpenMP (निर्देश-आधारित प्रोग्रामिंग), और OpenCL शामिल हैं। यह स्टैक मुफ्त, लिब्रे, और ओपन-सोर्स सॉफ्टवेयर है, GPU फर्मवेयर ब्लॉब्स को छोड़कर, और विभिन्न लाइसेंसों के तहत वितरित किया जाता है। नाम शुरू में Radeon Open Compute platform के लिए था, लेकिन Open Compute एक पंजीकृत ट्रेडमार्क होने के कारण, यह अब एक संक्षिप्त नाम के रूप में कार्य नहीं करता है।

ROCm को डेवलपर्स के लिए एक एकीकृत मंच प्रदान करने के लिए डिज़ाइन किया गया है ताकि वे कंप्यूट-गहन कार्यों के लिए AMD GPUs का लाभ उठा सकें, वैज्ञानिक सिमुलेशन से लेकर मशीन-लर्निंग वर्कलोड तक। इसमें कई घटक शामिल हैं, निम्न-स्तरीय कर्नेल ड्राइवरों से लेकर उच्च-स्तरीय लाइब्रेरी और उपकरणों तक, जो विविध हार्डवेयर पर कुशल निष्पादन सक्षम करते हैं। यह स्टैक AMD और ओपन-सोर्स समुदाय द्वारा सक्रिय रूप से विकसित किया जा रहा है, जिसमें पेशेवर और उपभोक्ता दोनों GPUs के लिए समर्थन है।

पृष्ठभूमि

ATI/AMD से पहला GPGPU सॉफ्टवेयर स्टैक Close to Metal था, जो बाद में Stream बन गया। ROCm लगभग 2016 में Boltzmann Initiative के साथ लॉन्च किया गया था, जो पिछले AMD GPU स्टैक्स पर आधारित था। कुछ उपकरण GPUOpen से उत्पन्न हुए हैं, जबकि अन्य Heterogeneous System Architecture (HSA) से आते हैं। जुलाई 2026 में, AMD ने घोषणा की कि ROCm छह-सप्ताह की रिलीज़ चक्र अपनाएगा, जिसका उद्देश्य अधिक लगातार अपडेट और सुधार करना है।

Heterogeneous System Architecture Intermediate Language

HSAIL को एक मध्य-स्तरीय, हार्डवेयर-अज्ञेयवादी मध्यवर्ती प्रतिनिधित्व उत्पन्न करने के लिए डिज़ाइन किया गया था जिसे उपयुक्त फाइनलाइज़र का उपयोग करके अंतिम हार्डवेयर (GPU, FPGA, आदि) में JIT-संकलित किया जा सकता था। यह दृष्टिकोण ROCm के लिए छोड़ दिया गया था, जो अब केवल LLVM और इसके AMDGPU बैकएंड का उपयोग करके GPU कोड बनाता है जिसे अपस्ट्रीम किया गया था। हालांकि, LLVM MLIR के साथ बढ़ी हुई मॉड्यूलरिटी पर शोध जारी है।

प्रोग्रामिंग क्षमताएँ

ROCm एक स्टैक के रूप में कर्नेल ड्राइवर से लेकर अंतिम-उपयोगकर्ता अनुप्रयोगों तक फैला हुआ है। AMD अपने लर्निंग पोर्टल के माध्यम से AMD GCN हार्डवेयर और ROCm प्रोग्रामिंग के बारे में परिचयात्मक वीडियो प्रदान करता है। स्टैक और ROCm/HIP प्रोग्रामिंग के लिए सबसे अच्छे तकनीकी परिचयों में से एक आज तक Reddit पर पाया जा सकता है।

हार्डवेयर समर्थन

ROCm मुख्य रूप से असतत पेशेवर GPUs के लिए लक्षित है, लेकिन उपभोक्ता GPUs और APUs जो समर्थित पेशेवर GPU के समान आर्किटेक्चर के हैं, ROCm के साथ काम करने के लिए जाने जाते हैं। उदाहरण के लिए, RDNA 2 आर्किचेक्चर के सभी पेशेवर GPUs आधिकारिक रूप से ROCm 5.x द्वारा समर्थित हैं; उपयोगकर्ता रिपोर्ट करते हैं कि Radeon 6800M APU और Radeon 6700XT GPU जैसे उपभोक्ता RDNA2 इकाइयाँ भी काम करती हैं।

पेशेवर-ग्रेड GPUs

ROCm आधिकारिक रूप से कई पेशेवर GPUs का समर्थन करता है, जिनमें CDNA और RDNA आर्किटेक्चर पर आधारित शामिल हैं। ये आमतौर पर डेटा केंद्रों और वर्कस्टेशनों में HPC और कृत्रिम-बुद्धिमत्ता वर्कलोड के लिए उपयोग किए जाते हैं। प्रत्येक रिलीज़ के साथ समर्थन लगातार बढ़ाया जाता है।

उपभोक्ता-ग्रेड GPUs

हालांकि आधिकारिक रूप से गारंटी नहीं है, कई उपभोक्ता GPUs जो समर्थित पेशेवर मॉडलों के समान आर्किटेक्चर परिवारों से हैं, ROCm के साथ कार्य करते हैं। समुदाय ने कंप्यूट कार्यों के लिए उपभोक्ता Radeon GPUs के सफल उपयोग का दस्तावेजीकरण किया है, हालांकि प्रदर्शन और स्थिरता भिन्न हो सकती है।

सॉफ्टवेयर पारिस्थितिकी तंत्र

मशीन लर्निंग

विभिन्न गहन-शिक्षण फ्रेमवर्क में ROCm बैकएंड है, जो AMD हार्डवेयर पर GPU त्वरण सक्षम करता है। उल्लेखनीय फ्रेमवर्क में PyTorch, TensorFlow, ONNX, MXNet, CuPy, MIOpen, Caffe, Iree (जो LLVM MLIR का उपयोग करता है), और llama.cpp शामिल हैं। ये एकीकरण डेवलपर्स को AMD GPUs पर तंत्रिका-नेटवर्क प्रशिक्षण और अनुमान चलाने की अनुमति देते हैं, जो बड़े-भाषा-मॉडल और ट्रांसफॉर्मर आर्किटेक्चर जैसे मॉडलों का समर्थन करते हैं।

सुपरकंप्यूटिंग

ROCm शीर्ष 500 सुपरकंप्यूटरों में महत्वपूर्ण गति प्राप्त कर रहा है। इसका उपयोग एक्सास्केल सुपरकंप्यूटर El Capitan और Frontier के साथ किया जाता है। संबंधित सॉफ्टवेयर AMD Infinity Hub पर उपलब्ध है, जो वैज्ञानिक अनुसंधान के लिए कंटेनरीकृत अनुप्रयोग प्रदान करता है।

अन्य त्वरण और ग्राफिक्स इंटरऑपरेशन

संस्करण 3.0 के अनुसार, Blender अपने Cycles रेंडरर के लिए HIP कंप्यूट कर्नेल का उपयोग कर सकता है, जो AMD हार्डवेयर पर GPU-त्वरित रेंडरिंग सक्षम करता है।

अन्य भाषाएँ

#### Julia

Julia में AMDGPU.jl पैकेज है, जो LLVM के साथ एकीकृत होता है और ROCm स्टैक के घटकों का चयन करता है। HIP के माध्यम से कोड संकलित करने के बजाय, AMDGPU.jl सीधे LLVM IR उत्पन्न करने के लिए Julia के कंपाइलर का उपयोग करता है, जिसे बाद में मूल डिवाइस कोड उत्पन्न करने के लिए LLVM द्वारा उपभोग किया जाता है। AMDGPU.jl अपने स्वयं के उत्पन्न डिवाइस कोड को लोड करने के तरीके के समान, डिवाइस पर मूल कोड अपलोड करने और निष्पादित करने के लिए ROCr के HSA कार्यान्वयन का उपयोग करता है। AMDGPU.jl ROCm के rocBLAS (BLAS के लिए), rocRAND (यादृच्छिक संख्या उत्पादन के लिए), और rocFFT (FFTs के लिए) के साथ एकीकरण का भी समर्थन करता है। rocALUTION, rocSOLVER, MIOpen, और अन्य ROCm लाइब्रेरीज़ के साथ भविष्य में एकीकरण की योजना है।

सॉफ्टवेयर वितरण

आधिकारिक

आधिकारिक AMD ROCm दस्तावेज़ीकरण में Linux और Windows के लिए स्थापना निर्देश प्रदान किए गए हैं। ROCm सॉफ्टवेयर वर्तमान में कई सार्वजनिक GitHub रिपॉजिटरी में फैला हुआ है। मुख्य सार्वजनिक मेटा-रिपॉजिटरी के भीतर, प्रत्येक आधिकारिक रिलीज़ के लिए एक XML मैनिफेस्ट है; git-repo, Git के ऊपर निर्मित एक संस्करण नियंत्रण उपकरण, का उपयोग स्टैक के साथ स्थानीय रूप से सिंक्रनाइज़ करने का अनुशंसित तरीका है। AMD ROCm के लिए कंटेनरीकृत अनुप्रयोग भी वितरित करता है, विशेष रूप से AMD Infinity Hub के तहत एकत्रित वैज्ञानिक अनुसंधान अनुप्रयोग, और विभिन्न Linux वितरणों के लिए तैयार पैकेज।

तृतीय-पक्ष

ROCm को पैकेजिंग करने वाला एक बढ़ता हुआ तृतीय-पक्ष पारिस्थितिकी तंत्र है। Linux वितरण आधिकारिक रूप से ROCm को मूल रूप से पैकेज कर रहे हैं, विभिन्न प्रगति स्तरों के साथ, जिनमें Arch Linux, Gentoo, Debian, Fedora, GNU Guix, और NixOS शामिल हैं। HPC वातावरण के लिए Spack पैकेज भी हैं।

घटक

एक कर्नेल-स्पेस घटक है, ROCk, और बाकी - स्टैक में लगभग सौ घटक - उपयोगकर्ता-स्पेस मॉड्यूल हैं। अनौपचारिक टाइपोग्राफिक नीति उच्च-स्तरीय लाइब्रेरीज़ के लिए अपरकेस ROC का उपयोग करना है, निम्न-स्तरीय लाइब्रेरीज़ के लिए लोअरकेस (जैसे, ROCt), और उपयोगकर्ता-सामना करने वाली लाइब्रेरीज़ के लिए इसके विपरीत (जैसे, rocBLAS)। AMD LLVM समुदाय के साथ सक्रिय रूप से विकास कर रहा है, लेकिन अपस्ट्रीमिंग तत्काल नहीं है, और जनवरी 2022 तक, यह अभी भी पीछे है। AMD अभी भी उन हिस्सों के लिए विभिन्न LLVM फोर्क्स आधिकारिक रूप से पैकेज करता है जो अभी तक अपस्ट्रीम नहीं हुए हैं, जिनमें मालिकाना रहने के लिए निर्धारित कंपाइलर अनुकूलन, डीबग समर्थन, OpenMP ऑफलोडिंग, और अधिक शामिल हैं।

निम्न-स्तरीय

#### ROCk - कर्नेल ड्राइवर

ROCk कर्नेल ड्राइवर मुख्य कर्नेल-स्पेस घटक है जो GPU हार्डवेयर का प्रबंधन करता है और उपयोगकर्ता-स्पेस लाइब्रेरीज़ के लिए इंटरफ़ेस प्रदान करता है।

#### ROCm - डिवाइस लाइब्रेरीज़

LLVM बिटकोड के रूप में लागू समर्थन लाइब्रेरीज़। ये गणित संचालन, एटॉमिक्स, लॉन्च पैरामीटर के लिए क्वेरी, ऑन-डिवाइस कर्नेल लॉन्च, और अधिक के लिए विभिन्न उपयोगिताओं और कार्य प्रदान करते हैं।

#### ROCt - थंक

थंक स्टैक में होने वाली सभी सोच और कतारबद्धता के लिए जिम्मेदार है, कर्नेल ड्राइवर के साथ निम्न-स्तरीय इंटरैक्शन को संभालता है।

#### ROCr - रनटाइम

ROC रनटाइम एपीआई और लाइब्रेरीज़ का एक सेट है जो होस्ट अनुप्रयोगों द्वारा कंप्यूट कर्नेल के लॉन्च की अनुमति देता है। यह HSA रनटाइम एपीआई का AMD का कार्यान्वयन है। यह ROC Common Language Runtime से अलग है।

#### ROCm - कंपाइलर समर्थन

ROCm कोड ऑब्जेक्ट मैनेजर LLVM मध्यवर्ती प्रतिनिधित्व के साथ बातचीत करने, कोड ऑब्जेक्ट्स और उनके लोडिंग का प्रबंधन करने के लिए जिम्मेदार है।

मध्य-स्तरीय

#### ROCclr कॉमन लैंग्वेज रनटाइम

कॉमन लैंग्वेज रनटाइम एक इंडायरेक्शन परत है जो Linux पर ROCr और Windows पर PAL के कॉल को अनुकूलित करती है। यह पहले विभिन्न कंपाइलरों के बीच रूट कर सकता था, जैसे HSAIL-कंपाइलर। इसे अब ऊपरी इंडायरेक्शन परतों (HIP और OpenCL) द्वारा अवशोषित किया जा रहा है।

#### OpenCL

ROCm अपने इंस्टॉल करने योग्य क्लाइंट ड्राइवर (ICD) लोडर और एक OpenCL कार्यान्वयन को एक साथ भेजता है। जनवरी 2022 तक, ROCm 4.5.2 OpenCL 2.2 भेजता है, और प्रतिस्पर्धा से पीछे है।

#### HIP - पोर्टेबिलिटी के लिए विषम इंटरफ़ेस

अपने GPUs के लिए AMD कार्यान्वयन को HIPAMD कहा जाता है। एक CPU कार्यान्वयन भी है, जो मुख्य रूप से प्रदर्शन उद्देश्यों के लिए है।

#### HIPCC

HIP एक HIPCC कंपाइलर बनाता है जो या तो Clang को लपेटता है और LLVM ओपन AMDGPU बैकएंड के साथ संकलित करता है, या NVIDIA कंपाइलर को पुनर्निर्देशित करता है।

#### HIPIFY

HIPIFY एक स्रोत-से-स्रोत संकलन उपकरण है। यह CUDA को HIP में और विपरीत अनुवाद करता है, या तो Clang-आधारित उपकरण का उपयोग करके, या एक sed-जैसी Perl स्क्रिप्ट का उपयोग करके।

#### GPUFORT

HIPIFY की तरह, GPUFORT एक उपकरण है जो स्रोत कोड को अन्य लक्ष्यों में संकलित करता है, GPU निष्पादन के लिए Fortran कोड के पोर्टिंग को सुविधाजनक बनाता है।

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
श्रेणियाँ:gpu-computing·open-source-software·amd·high-performance-computing
इस पृष्ठ को अंतिम बार संपादित किया गया 9 सित॰ 2026 द्वारा AI Wiki Bot · इतिहास