Linux* OS होस्ट पर GDB* के लिए Intel® वितरण के साथ आरंभ करें

डिबगिंग अनुप्रयोगों के लिए GDB* के लिए Intel® वितरण का उपयोग करना प्रारंभ करें। सीपीयू और जीपीयू उपकरणों पर लोड किए गए गुठली के साथ अनुप्रयोगों को डीबग करने के लिए डीबगर सेट अप करने के लिए नीचे दिए गए निर्देशों का पालन करें।

GDB* के लिए Intel® वितरण Intel® oneAPI बेस टूलकिट के भाग के रूप में उपलब्ध है। वनएपीआई टूलकिट के बारे में अधिक जानकारी के लिए देखें उत्पाद पृष्ठ.

दौरा करना रिलीज नोट्स प्रमुख क्षमताओं, नई सुविधाओं और ज्ञात समस्याओं के बारे में जानकारी के लिए पृष्ठ।

आप एक एसवाईसीएल * एस का उपयोग कर सकते हैंample कोड, Array Transform, GDB* के लिए Intel® वितरण के साथ आरंभ करने के लिए। एसample त्रुटियों को उत्पन्न नहीं करता है और केवल डीबगर सुविधाओं को दिखाता है। कोड इनपुट सरणी के तत्वों को संसाधित करता है, इस पर निर्भर करता है कि वे सम या विषम हैं और आउटपुट सरणी उत्पन्न करते हैं। आप एस का उपयोग कर सकते हैंample सीपीयू या जीपीयू दोनों पर डिबग करने के लिए, एक कमांड लाइन तर्क के माध्यम से चुने हुए डिवाइस को निर्दिष्ट करते हुए। ध्यान दें कि जीपीयू डीबगिंग के लिए दो सिस्टम और रिमोट डीबगिंग के लिए अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता हो सकती है।

आवश्यक शर्तें

यदि आप GPU पर डिबग करना चाहते हैं, तो नवीनतम GPU ड्राइवर स्थापित करें और उनका उपयोग करने के लिए अपने सिस्टम को कॉन्फ़िगर करें। को देखें Linux* OS के लिए Intel® oneAPI टूलकिट इंस्टॉलेशन गाइड. निर्देशों का पालन करें Intel GPU ड्राइवर स्थापित करें अपने सिस्टम से मेल खाने वाले जीपीयू ड्राइवर स्थापित करने के लिए।

इसके अतिरिक्त, आप जीडीबी* के लिए इंटेल® डिस्ट्रीब्यूशन के साथ जीपीयू डीबग करने के लिए विज़ुअल स्टूडियो कोड* के लिए एक एक्सटेंशन स्थापित कर सकते हैं। को देखें Intel® oneAPI टूलकिट गाइड के साथ विजुअल स्टूडियो कोड का उपयोग करना.

जीपीयू डीबगर सेट अप करें

GPU डिबगर सेट करने के लिए, आपके पास रूट एक्सेस होना चाहिए।


टिप्पणी कर्नेल डिबगिंग के दौरान, GPU रुका हुआ है और वीडियो आउटपुट आपके लक्षित मशीन पर अनुपलब्ध है। इसके कारण, यदि सिस्टम के GPU कार्ड का उपयोग ग्राफ़िकल आउटपुट के लिए भी किया जाता है, तो आप लक्ष्य सिस्टम से GPU को डिबग नहीं कर सकते। इस स्थिति में, मशीन को ssh के माध्यम से कनेक्ट करें।


1. यदि आप जीपीयू पर डीबग करना चाहते हैं, तो जीपीयू डीबगिंग का समर्थन करने वाले लिनक्स कर्नेल की आवश्यकता है।

a. पर दिए गए निर्देशों का पालन करें सामान्य प्रयोजन GPU क्षमताओं के लिए Intel® सॉफ़्टवेयर आवश्यक ड्राइवरों को डाउनलोड और इंस्टॉल करने के लिए।
b. कर्नेल में i915 डिबग समर्थन सक्षम करें:

a. टर्मिनल खोलें.
b. ग्रब खोलो file में /etc/default.
c. ग्रब में file, लाइन GRUB_CMDLINE_LINUX_DEFAULT=”” खोजें।
d. उद्धरणों के बीच निम्नलिखित पाठ दर्ज करें (""):

i915.debug_eu=1


टिप्पणी डिफ़ॉल्ट रूप से, GPU ड्राइवर वर्कलोड को एक निश्चित समय से अधिक समय तक GPU पर चलने की अनुमति नहीं देता है। हैंग होने से बचाने के लिए ड्राइवर GPU को रीसेट करके ऐसे लंबे समय तक चलने वाले वर्कलोड को खत्म कर देता है। यदि डिबगर के अंतर्गत अनुप्रयोग चल रहा है तो ड्राइवर का हैंगचेक तंत्र अक्षम है। यदि आप डिबगर संलग्न किए बिना भी लंबे समय तक कंप्यूट वर्कलोड चलाने की योजना बनाते हैं, तो आवेदन करने पर विचार करें जीपीयू: हैंगचेक अक्षम करें जोड़कर

i915.सक्षम_हैंगचेक=0

उसी के लिए GRUB_CMDLINE_LINUX_DEFAULT लाइन।

c. इन परिवर्तनों के प्रभावी होने के लिए GRUB का अद्यतन करें:

सुडो अपडेट-ग्रब

d. रीबूट करें.

2. अपने टूलकिट इंस्टालेशन के रूट में स्थित सेटर्स स्क्रिप्ट को सोर्स करके अपना सीएलआई वातावरण सेट करें।

लिनक्स (सुडो):

स्रोत /ऑप्ट/इंटेल/oneapi/setvars.sh

लिनक्स (उपयोगकर्ता):

स्रोत ~/इंटेल/oneapi/setvars.sh

3. सेटअप वातावरण
Intel® oneAPI Level Zero के लिए डीबगर समर्थन को सक्षम करने के लिए निम्नलिखित पर्यावरण चर का उपयोग करें:

निर्यात ZET_ENABLE_PROGRAM_DEBUGGING=1
निर्यात IGC_EnableGTLocationDebugging=1

4. सिस्टम जांच
जब सब कुछ तैयार हो जाए, तो कृपया यह पुष्टि करने के लिए निम्न कमांड चलाएँ कि सिस्टम कॉन्फ़िगरेशन विश्वसनीय है:

Python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force

एक अच्छी तरह से कॉन्फ़िगर किए गए सिस्टम का संभावित आउटपुट निम्नानुसार है:


परिणामों की जाँच करता है:
================================================ ==============================
चेक नाम: डीबगर_sys_check
विवरण: यह जाँच सत्यापित करती है कि परिवेश gdb (GDB* के लिए Intel(R) वितरण) का उपयोग करने के लिए तैयार है या नहीं।
परिणाम की स्थिति: पास
डिबगर मिला।
लिबिप्ट मिला।
लिबिगा मिला।
i915 डिबग सक्षम है।
पर्यावरण चर सही। ================================================== ================================

1 चेक: 1 पास, 0 फेल, 0 चेतावनी, 0 त्रुटियाँ

कंसोल आउटपुट file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON आउटपुट file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

डिबग सूचना के साथ कार्यक्रम को संकलित करें

आप एस का उपयोग कर सकते हैंampप्रोजेक्ट डिबगर के साथ जल्दी से आरंभ करने के लिए प्रोजेक्ट, एरे ट्रांसफॉर्म।

1. एस प्राप्त करने के लिएampले, निम्नलिखित में से कोई भी तरीका चुनें:

2. S के src पर नेविगेट करेंampले परियोजना:

सीडी सरणी-रूपांतरण/src

3. डिबग जानकारी (-g फ़्लैग) को सक्षम करके और अनुकूलन (-O0 फ़्लैग) को बंद करके एप्लिकेशन को संकलित करें।
एक स्थिर और सटीक डिबग वातावरण के लिए ऑप्टिमाइज़ेशन को अक्षम करने की अनुशंसा की जाती है। यह संकलक अनुकूलन के बाद कोड में परिवर्तन के कारण होने वाले भ्रम से बचने में मदद करता है।


टिप्पणी आप अभी भी प्रोग्राम को ऑप्टिमाइज़ेशन सक्षम (-O2 फ्लैग) के साथ संकलित कर सकते हैं, जो कि GPU असेंबली डिबगिंग के उद्देश्य से सहायक हो सकता है।


आप प्रोग्राम को कई तरीकों से संकलित कर सकते हैं। विकल्प 1 और 2 जस्ट-इन-टाइम (JIT) संकलन का उपयोग करते हैं, जिसे एस को डीबग करने की अनुशंसा की जाती हैampले। विकल्प 3 समय से पहले (एओटी) संकलन का उपयोग करता है।

  • विकल्प 1. आप सीएमके का उपयोग कर सकते हैं file एप्लिकेशन को कॉन्फ़िगर और बनाने के लिए। को देखें रीडमी एस केampएल निर्देशों के लिए।

टिप्पणी सीएमके file एस के साथ प्रदान किया गयाample पहले से ही -g -O0 झंडे पास करता है।


  • विकल्प 2. सरणी-transform.cpp एस संकलित करने के लिएampले आवेदन CMake के बिना file, निम्नलिखित आदेश जारी करें:

icpx -fsycl -g -O0 array-transform.cpp -o array-transform

यदि संकलन और लिंकिंग अलग से किया जाता है, तो -g -O0 फ़्लैग को लिंक चरण पर बनाए रखें। लिंक चरण तब होता है जब icpx रनटाइम पर डिवाइस कंपाइलर को पास करने के लिए इन झंडों का अनुवाद करता है। पूर्वampपर:

आईसीपीएक्स -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 सरणी-परिवर्तन.o -o सरणी-रूपांतरण

  • विकल्प 3. आप रनटाइम पर JIT संकलन समय से बचने के लिए AOT संकलन का उपयोग कर सकते हैं। डीबगर के तहत बड़ी गुठली के लिए जेआईटी संकलन में काफी अधिक समय लग सकता है। समय से पहले संकलन मोड का उपयोग करने के लिए:

• GPU पर डिबगिंग के लिए:
उस डिवाइस को निर्दिष्ट करें जिसका उपयोग आप प्रोग्राम निष्पादन के लिए करेंगे। पूर्व के लिएample, -डिवाइस dg2-g10 Intel® डेटा सेंटर GPU Flex 140 ग्राफ़िक्स के लिए। एओटी संकलन पर समर्थित विकल्पों की सूची और अधिक जानकारी के लिए, देखें Intel® oneAPI DPC++ कंपाइलर डेवलपर गाइड और संदर्भ.
उदाहरणार्थampपर:

icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs "-डिवाइस dg2-g10" array-transform.cpp -o arraytransform

अहेड-ऑफ़-टाइम संकलन के लिए OpenCLTM ऑफ़लाइन कंपाइलर (OC कंपाइलर LOC) की आवश्यकता होती है। अधिक जानकारी के लिए, अनुभाग "OpenCLTM ऑफ़लाइन कंपाइलर (OCLOC) स्थापित करें" देखें इंस्टालेशन गाइड.

• सीपीयू पर डिबगिंग के लिए:

icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform

डिबग सत्र प्रारंभ करें

डीबग सत्र प्रारंभ करें:

1. GDB* के लिए Intel® वितरण निम्नानुसार प्रारंभ करें:

gdb-oneapi सरणी-रूपांतरण

आपको (जीडीबी) प्रॉम्प्ट देखना चाहिए।

2. यह सुनिश्चित करने के लिए कि कर्नेल को सही डिवाइस पर लोड किया गया है, निम्न चरणों का पालन करें। जब आप (जीडीबी) प्रांप्ट से रन कमांड निष्पादित करते हैं, तो पास करें CPU, जीपीयू or त्वरक तर्क:

  • सीपीयू पर डिबगिंग के लिए:

सीपीयू चलाओ

Exampले आउटपुट:

[SYCL] डिवाइस का उपयोग करना: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] [Intel(R) OpenCL] से
  • GPU पर डिबगिंग के लिए:

जीपीयू चलाएं

Exampले आउटपुट:

[SYCL] डिवाइस का उपयोग करना: [Intel(R) LevelZero] से [Intel(R) Data Center GPU Flex Series 140 [0x56c1]]
  • एफपीजीए-एमुलेटर पर डिबगिंग के लिए:

त्वरक चलाओ

Exampले आउटपुट:

[SYCL] डिवाइस का उपयोग करना: [Intel(R) FPGA Emulation Device] से [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]

टिप्पणी सीपीयू, जीपीयू और त्वरक पैरामीटर एरे ट्रांसफॉर्म एप्लिकेशन के लिए विशिष्ट हैं।


3. GDB* के लिए Intel® वितरण को छोड़ने के लिए:

छोड़ना

आपकी सुविधा के लिए, GDB* के लिए सामान्य Intel® वितरण कमांड में दिए गए हैं संदर्भ पत्रक.

ऐरे ट्रांसफॉर्म एस को डीबग करने के लिएampGDB* के लिए Intel® वितरण के बारे में और जानें, ट्यूटोरियल.

और अधिक जानें
दस्तावेज़ विवरण
ट्यूटोरियल: GDB के लिए Intel® वितरण के साथ डिबगिंग* यह दस्तावेज़ GDB* के लिए Intel® वितरण के साथ SYCL* और OpenCL डीबग करते समय पालन किए जाने वाले मूल परिदृश्यों का वर्णन करता है।
जीडीबी* उपयोगकर्ता गाइड के लिए इंटेल® वितरण यह दस्तावेज़ उन सभी सामान्य कार्यों का वर्णन करता है जिन्हें आप GDB* के लिए Intel® वितरण के साथ पूरा कर सकते हैं और आवश्यक तकनीकी विवरण प्रदान करता है।
GDB* रिलीज़ नोट्स के लिए Intel® वितरण नोट्स में प्रमुख क्षमताओं, नई सुविधाओं और GDB* के लिए Intel® वितरण के ज्ञात मुद्दों के बारे में जानकारी शामिल है।
oneAPI उत्पाद पृष्ठ इस पृष्ठ में oneAPI टूलकिट का संक्षिप्त परिचय और उपयोगी संसाधनों के लिंक शामिल हैं।
GDB के लिए Intel® वितरण* संदर्भ पत्रक यह एक पृष्ठ का दस्तावेज़ संक्षेप में GDB* के लिए Intel® वितरण की पूर्वापेक्षाएँ और उपयोगी कमांड का वर्णन करता है।
जैकोबी एसample इस छोटे SYCL* एप्लिकेशन के दो संस्करण हैं: बगेड और फिक्स्ड। एस का प्रयोग करेंampGDB* के लिए Intel® वितरण के साथ एप्लिकेशन डिबगिंग का अभ्यास करें।
नोटिस और अस्वीकरण

इंटेल प्रौद्योगिकियों को सक्षम हार्डवेयर, सॉफ़्टवेयर या सेवा सक्रियण की आवश्यकता हो सकती है।

कोई भी उत्पाद या घटक पूर्णतः सुरक्षित नहीं हो सकता।

आपकी लागत और परिणाम भिन्न हो सकते हैं.

© इंटेल कॉर्पोरेशन। Intel, Intel लोगो और अन्य Intel चिह्न Intel Corporation या उसकी सहायक कंपनियों के ट्रेडमार्क हैं। अन्य नामों और ब्रांडों पर दूसरों की संपत्ति के रूप में दावा किया जा सकता है।

इस दस्तावेज़ द्वारा किसी भी बौद्धिक संपदा अधिकार के लिए कोई लाइसेंस (स्पष्ट या निहित, विबंधन द्वारा या अन्यथा) प्रदान नहीं किया गया है।

वर्णित उत्पादों में डिज़ाइन दोष या त्रुटियाँ हो सकती हैं जिन्हें इरेटा के रूप में जाना जाता है, जिसके कारण उत्पाद प्रकाशित विनिर्देशों से अलग हो सकता है। वर्तमान में वर्णित इरेटा अनुरोध पर उपलब्ध हैं।

इंटेल बिना किसी सीमा के, व्यापारिक योग्यता की निहित वारंटी, किसी विशेष उद्देश्य के लिए उपयुक्तता, और गैर-उल्लंघन, साथ ही प्रदर्शन के दौरान उत्पन्न होने वाली किसी भी वारंटी, व्यवहार के पाठ्यक्रम, या व्यापार में उपयोग सहित सभी व्यक्त और निहित वारंटी को अस्वीकार करता है।

ओपनसीएल और ओपनसीएल लोगो एप्पल इंक के ट्रेडमार्क हैं, जिनका उपयोग क्रोनोस की अनुमति से किया जाता है।

दस्तावेज़ / संसाधन

लिनक्स ओएस होस्ट पर जीडीबी के लिए इंटेल वितरण [पीडीएफ] उपयोगकर्ता गाइड
Linux OS होस्ट पर GDB के लिए वितरण, Linux OS होस्ट पर GDB, Linux OS होस्ट, OS होस्ट, होस्ट

संदर्भ

एक टिप्पणी छोड़ें

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड चिह्नित हैं *