Linux* OS హోస్ట్‌లో GDB* కోసం Intel® డిస్ట్రిబ్యూషన్‌తో ప్రారంభించండి

అప్లికేషన్ల డీబగ్గింగ్ కోసం GDB* కోసం Intel® డిస్ట్రిబ్యూషన్‌ని ఉపయోగించడం ప్రారంభించండి. CPU మరియు GPU పరికరాలకు ఆఫ్‌లోడ్ చేయబడిన కెర్నల్‌లతో అప్లికేషన్‌లను డీబగ్ చేయడానికి డీబగ్గర్‌ను సెటప్ చేయడానికి దిగువ సూచనలను అనుసరించండి.

Intel® oneAPI బేస్ టూల్‌కిట్‌లో భాగంగా GDB* కోసం Intel® డిస్ట్రిబ్యూషన్ అందుబాటులో ఉంది. OneAPI టూల్‌కిట్‌లపై మరింత సమాచారం కోసం, సందర్శించండి ఉత్పత్తి పేజీ.

సందర్శించండి విడుదల గమనికలు కీలక సామర్థ్యాలు, కొత్త ఫీచర్లు మరియు తెలిసిన సమస్యల గురించి సమాచారం కోసం పేజీ.

మీరు SYCL* లను ఉపయోగించవచ్చుample కోడ్, అర్రే ట్రాన్స్‌ఫార్మ్, GDB* కోసం Intel® డిస్ట్రిబ్యూషన్‌తో ప్రారంభించడానికి. ఎస్ample లోపాలను సృష్టించదు మరియు కేవలం డీబగ్గర్ లక్షణాలను వివరిస్తుంది. కోడ్ ఇన్‌పుట్ శ్రేణిలోని మూలకాలను సరి లేదా బేసిగా ఉన్నాయా అనే దానిపై ఆధారపడి వాటిని ప్రాసెస్ చేస్తుంది మరియు అవుట్‌పుట్ శ్రేణిని ఉత్పత్తి చేస్తుంది. మీరు s ను ఉపయోగించవచ్చుampకమాండ్ లైన్ ఆర్గ్యుమెంట్ ద్వారా ఎంచుకున్న పరికరాన్ని పేర్కొంటూ, CPU లేదా GPU రెండింటిలోనూ డీబగ్ చేయడానికి le. GPU డీబగ్గింగ్‌కు రెండు సిస్టమ్‌లు మరియు రిమోట్ డీబగ్గింగ్ కోసం అదనపు కాన్ఫిగరేషన్ అవసరమవుతుందని గమనించండి.

ముందస్తు అవసరాలు

మీరు GPUలో డీబగ్ చేయాలని లక్ష్యంగా పెట్టుకుంటే, తాజా GPU డ్రైవర్‌లను ఇన్‌స్టాల్ చేసి, వాటిని ఉపయోగించడానికి మీ సిస్టమ్‌ను కాన్ఫిగర్ చేయండి. చూడండి Linux* OS కోసం Intel® oneAPI టూల్‌కిట్‌ల ఇన్‌స్టాలేషన్ గైడ్. సూచనలను అనుసరించండి Intel GPU డ్రైవర్లను ఇన్‌స్టాల్ చేయండి మీ సిస్టమ్‌కు సరిపోలే GPU డ్రైవర్‌లను ఇన్‌స్టాల్ చేయడానికి.

అదనంగా, మీరు GDB కోసం Intel® Distributionతో GPUని డీబగ్గింగ్ చేయడానికి విజువల్ స్టూడియో కోడ్* కోసం పొడిగింపును ఇన్‌స్టాల్ చేయవచ్చు*. చూడండి Intel® oneAPI టూల్‌కిట్‌ల గైడ్‌తో విజువల్ స్టూడియో కోడ్‌ని ఉపయోగించడం.

GPU డీబగ్గర్‌ని సెటప్ చేయండి

GPU డీబగ్గర్‌ని సెటప్ చేయడానికి, మీరు తప్పనిసరిగా రూట్ యాక్సెస్‌ని కలిగి ఉండాలి.


గమనిక కెర్నల్ డీబగ్గింగ్ సమయంలో, GPU నిలిపివేయబడుతుంది మరియు మీ లక్ష్య మెషీన్‌లో వీడియో అవుట్‌పుట్ అందుబాటులో ఉండదు. దీని కారణంగా, సిస్టమ్ యొక్క GPU కార్డ్ గ్రాఫికల్ అవుట్‌పుట్ కోసం కూడా ఉపయోగించబడితే, మీరు లక్ష్య సిస్టమ్ నుండి GPUని డీబగ్ చేయలేరు. ఈ సందర్భంలో, ssh ద్వారా యంత్రానికి కనెక్ట్ చేయండి.


1. మీరు GPUలో డీబగ్ చేయాలని లక్ష్యంగా పెట్టుకుంటే, GPU డీబగ్గింగ్‌కు మద్దతు ఇచ్చే Linux కెర్నల్ అవసరం.

a. వద్ద సూచనలను అనుసరించండి సాధారణ ప్రయోజన GPU సామర్థ్యాల కోసం Intel® సాఫ్ట్‌వేర్ అవసరమైన డ్రైవర్లను డౌన్‌లోడ్ చేసి, ఇన్‌స్టాల్ చేయడానికి.
b. కెర్నల్‌లో i915 డీబగ్ మద్దతును ప్రారంభించండి:

a. టెర్మినల్ తెరవండి.
b. గ్రబ్ తెరవండి file /etc/defaultలో.
c. గ్రబ్ లో file, GRUB_CMDLINE_LINUX_DEFAULT=”” లైన్‌ను కనుగొనండి.
d. కోట్‌ల మధ్య కింది వచనాన్ని నమోదు చేయండి (""):

i915.debug_eu=1


గమనిక డిఫాల్ట్‌గా, GPU డ్రైవర్ పనిభారాన్ని GPUలో నిర్దిష్ట సమయం కంటే ఎక్కువసేపు అమలు చేయడానికి అనుమతించదు. హ్యాంగ్‌లను నిరోధించడానికి GPUని రీసెట్ చేయడం ద్వారా డ్రైవర్ అటువంటి దీర్ఘకాల పనిభారాన్ని చంపేస్తాడు. అప్లికేషన్ డీబగ్గర్ కింద రన్ అవుతున్నట్లయితే డ్రైవర్ యొక్క హ్యాంగ్ చెక్ మెకానిజం నిలిపివేయబడుతుంది. డీబగ్గర్ జోడించబడకుండా మీరు లాంగ్ కంప్యూట్ వర్క్‌లోడ్‌లను అమలు చేయాలని ప్లాన్ చేస్తే, దరఖాస్తు చేయడాన్ని పరిగణించండి GPU: హ్యాంగ్‌చెక్‌ని నిలిపివేయండి జోడించడం ద్వారా

i915.enable_hangcheck=0

అదే GRUB_CMDLINE_LINUX_DEFAULT లైన్.

c. ఈ మార్పులు అమలులోకి రావడానికి GRUBని నవీకరించండి:

sudo update-grub

d. రీబూట్ చేయండి.

2. మీ టూల్‌కిట్ ఇన్‌స్టాలేషన్ యొక్క రూట్‌లో ఉన్న setvars స్క్రిప్ట్‌ను సోర్సింగ్ చేయడం ద్వారా మీ CLI వాతావరణాన్ని సెటప్ చేయండి.

Linux (sudo):

మూలం /opt/intel/oneapi/setvars.sh

Linux (యూజర్):

మూలం ~/intel/oneapi/setvars.sh

3. పర్యావరణాన్ని సెటప్ చేయండి
Intel® oneAPI లెవెల్ జీరో కోసం డీబగ్గర్ మద్దతును ప్రారంభించడానికి క్రింది ఎన్విరాన్‌మెంట్ వేరియబుల్‌లను ఉపయోగించండి:

ఎగుమతి ZET_ENABLE_PROGRAM_DEBUGGING=1
ఎగుమతి IGC_EnableGTLocationDebugging=1

4. సిస్టమ్ తనిఖీ
ప్రతిదీ సిద్ధంగా ఉన్నప్పుడు, సిస్టమ్ కాన్ఫిగరేషన్ నమ్మదగినదని నిర్ధారించడానికి దయచేసి కింది ఆదేశాన్ని అమలు చేయండి:

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

బాగా కాన్ఫిగర్ చేయబడిన సిస్టమ్ యొక్క సాధ్యమైన అవుట్‌పుట్ క్రింది విధంగా ఉంటుంది:


ఫలితాలను తనిఖీ చేస్తుంది:
===================================================== =================================
పేరును తనిఖీ చేయండి: debugger_sys_check
వివరణ: పర్యావరణం gdb (GDB కోసం Intel(R) డిస్ట్రిబ్యూషన్*) ఉపయోగించడానికి సిద్ధంగా ఉందో లేదో ఈ చెక్ ధృవీకరిస్తుంది.
ఫలితాల స్థితి: PASS
డీబగ్గర్ కనుగొనబడింది.
లిబిప్ట్ కనుగొనబడింది.
లిబిగా కనుగొనబడింది.
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 …

డీబగ్ సమాచారంతో ప్రోగ్రామ్‌ను కంపైల్ చేయండి

మీరు s ను ఉపయోగించవచ్చుample ప్రాజెక్ట్, అర్రే ట్రాన్స్‌ఫార్మ్, అప్లికేషన్ డీబగ్గర్‌తో త్వరగా ప్రారంభించడానికి.

1. లను పొందడానికిample, కింది మార్గాలలో దేనినైనా ఎంచుకోండి:

2. s యొక్క srcకి నావిగేట్ చేయండిampలే ప్రాజెక్ట్:

cd array-transform/src

3. డీబగ్ సమాచారాన్ని (-g ఫ్లాగ్) ప్రారంభించడం ద్వారా మరియు ఆప్టిమైజేషన్‌లను ఆఫ్ చేయడం ద్వారా అప్లికేషన్‌ను కంపైల్ చేయండి (-O0 ఫ్లాగ్).
స్థిరమైన మరియు ఖచ్చితమైన డీబగ్ వాతావరణం కోసం ఆప్టిమైజేషన్‌ని నిలిపివేయడం సిఫార్సు చేయబడింది. కంపైలర్ ఆప్టిమైజేషన్ల తర్వాత కోడ్‌లో మార్పుల వల్ల కలిగే గందరగోళాన్ని నివారించడానికి ఇది సహాయపడుతుంది.


గమనిక మీరు ఇప్పటికీ ప్రోగ్రామ్‌ను ఆప్టిమైజేషన్ ఎనేబుల్ (-O2 ఫ్లాగ్)తో కంపైల్ చేయవచ్చు, మీరు GPU అసెంబ్లీ డీబగ్గింగ్‌ను లక్ష్యంగా చేసుకుంటే ఇది ఉపయోగకరంగా ఉంటుంది.


మీరు ప్రోగ్రామ్‌ను అనేక విధాలుగా కంపైల్ చేయవచ్చు. ఎంపికలు 1 మరియు 2 జస్ట్-ఇన్-టైమ్ (JIT) సంకలనాన్ని ఉపయోగిస్తాయి, ఇది s డీబగ్ చేయడానికి సిఫార్సు చేయబడిందిample. ఎంపిక 3 ముందస్తుగా (AOT) సంకలనాన్ని ఉపయోగిస్తుంది.

  • ఎంపిక 1. మీరు CMakeని ఉపయోగించవచ్చు file అప్లికేషన్‌ను కాన్ఫిగర్ చేయడానికి మరియు నిర్మించడానికి. చూడండి చదవండి ల యొక్కampసూచనల కోసం le.

గమనిక సీఎంకే file లతో అందించబడిందిample ఇప్పటికే -g -O0 ఫ్లాగ్‌లను దాటింది.


  • ఎంపిక 2. అర్రే-transform.cpp sను కంపైల్ చేయడానికిampCMake లేకుండా అప్లికేషన్ file, కింది ఆదేశాలను జారీ చేయండి:

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

సంకలనం మరియు లింక్ చేయడం విడివిడిగా జరిగితే, లింక్ దశలో -g -O0 ఫ్లాగ్‌లను ఉంచండి. ఈ ఫ్లాగ్‌లను రన్‌టైమ్‌లో పరికర కంపైలర్‌కు పంపడానికి icpx అనువదించడం లింక్ దశ. ఉదాampలే:

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

  • ఎంపిక 3. రన్‌టైమ్‌లో ఎక్కువ JIT కంపైలేషన్ సమయాలను నివారించడానికి మీరు AOT కంపైలేషన్‌ని ఉపయోగించవచ్చు. డీబగ్గర్ కింద ఉన్న పెద్ద కెర్నల్‌ల కోసం JIT సంకలనానికి ఎక్కువ సమయం పట్టవచ్చు. అహెడ్-ఆఫ్-టైమ్ కంపైలేషన్ మోడ్‌ని ఉపయోగించడానికి:

• GPUలో డీబగ్గింగ్ కోసం:
ప్రోగ్రామ్ అమలు కోసం మీరు ఉపయోగించే పరికరాన్ని పేర్కొనండి. ఉదాహరణకుample, Intel® డేటా సెంటర్ GPU Flex 2 గ్రాఫిక్స్ కోసం -device dg10-g140. మద్దతు ఉన్న ఎంపికల జాబితా మరియు AOT సంకలనంపై మరింత సమాచారం కోసం, చూడండి Intel® oneAPI DPC++ కంపైలర్ డెవలపర్ గైడ్ మరియు రిఫరెన్స్.
ఉదాహరణకుampలే:

icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform

సమయానికి ముందు సంకలనానికి OpenCLTM ఆఫ్‌లైన్ కంపైలర్ (OC కంపైలర్ LOC) అవసరం. మరింత సమాచారం కోసం, "OpenCLTM ఆఫ్‌లైన్ కంపైలర్‌ని ఇన్‌స్టాల్ చేయండి (OCLOC)" విభాగాన్ని చూడండి ఇన్‌స్టాలేషన్ గైడ్.

• CPUలో డీబగ్గింగ్ కోసం:

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

డీబగ్ సెషన్‌ను ప్రారంభించండి

డీబగ్ సెషన్‌ను ప్రారంభించండి:

1. GDB* కోసం Intel® పంపిణీని ఈ క్రింది విధంగా ప్రారంభించండి:

gdb-oneapi అర్రే-ట్రాన్స్‌ఫార్మ్

మీరు (gdb) ప్రాంప్ట్‌ని చూడాలి.

2. కెర్నల్ సరైన పరికరానికి ఆఫ్‌లోడ్ చేయబడిందని నిర్ధారించుకోవడానికి, క్రింది దశలను చేయండి. మీరు (gdb) ప్రాంప్ట్ నుండి రన్ ఆదేశాన్ని అమలు చేసినప్పుడు, పాస్ చేయండి cpu, gpu or యాక్సిలరేటర్ వాదన:

  • CPUలో డీబగ్గింగ్ కోసం:

cpuని అమలు చేయండి

Example అవుట్‌పుట్:

[SYCL] పరికరాన్ని ఉపయోగించడం: [Intel(R) OpenCL] నుండి [Intel(R) కోర్(TM) i7-9750H CPU @ 2.60GHz]
  • GPUలో డీబగ్గింగ్ కోసం:

gpuని అమలు చేయండి

Example అవుట్‌పుట్:

[SYCL] పరికరాన్ని ఉపయోగించడం: [Intel(R) LevelZero] నుండి [Intel(R) డేటా సెంటర్ GPU ఫ్లెక్స్ సిరీస్ 140 [0x56c1]]
  • FPGA-ఎమ్యులేటర్‌లో డీబగ్గింగ్ కోసం:

యాక్సిలరేటర్‌ను అమలు చేయండి

Example అవుట్‌పుట్:

[SYCL] పరికరాన్ని ఉపయోగించడం: [Intel(R) FPGA ఎమ్యులేషన్ పరికరం] [Intel(R) FPGA ఎమ్యులేషన్ ప్లాట్‌ఫారమ్ కోసం OpenCL(TM) సాఫ్ట్‌వేర్]

గమనిక cpu, gpu మరియు యాక్సిలరేటర్ పారామితులు అర్రే ట్రాన్స్‌ఫార్మ్ అప్లికేషన్‌కు ప్రత్యేకంగా ఉంటాయి.


3. GDB* కోసం Intel® పంపిణీ నుండి నిష్క్రమించడానికి:

విడిచిపెట్టు

మీ సౌలభ్యం కోసం, GDB* ఆదేశాల కోసం సాధారణ Intel® డిస్ట్రిబ్యూషన్ అందించబడింది రిఫరెన్స్ షీట్.

అర్రే ట్రాన్స్‌ఫార్మ్ లను డీబగ్ చేయడానికిample మరియు GDB* కోసం Intel® పంపిణీ గురించి మరింత తెలుసుకోండి, దీన్ని ఉపయోగించి ప్రాథమిక డీబగ్గింగ్ దృశ్యాల ద్వారా నడవండి ట్యుటోరియల్.

మరింత తెలుసుకోండి
పత్రం వివరణ
ట్యుటోరియల్: GDB కోసం Intel® పంపిణీతో డీబగ్గింగ్* GDB* కోసం Intel® డిస్ట్రిబ్యూషన్‌తో SYCL* మరియు OpenCL డీబగ్ చేస్తున్నప్పుడు అనుసరించాల్సిన ప్రాథమిక దృశ్యాలను ఈ పత్రం వివరిస్తుంది.
GDB* యూజర్ గైడ్ కోసం Intel® పంపిణీ GDB* కోసం Intel® డిస్ట్రిబ్యూషన్‌తో మీరు పూర్తి చేయగల అన్ని సాధారణ పనులను ఈ పత్రం వివరిస్తుంది మరియు అవసరమైన సాంకేతిక వివరాలను అందిస్తుంది.
GDB* విడుదల గమనికల కోసం Intel® పంపిణీ గమనికలు GDB* కోసం Intel® డిస్ట్రిబ్యూషన్ యొక్క ముఖ్య సామర్థ్యాలు, కొత్త ఫీచర్‌లు మరియు తెలిసిన సమస్యల గురించి సమాచారాన్ని కలిగి ఉంటాయి.
oneAPI ఉత్పత్తి పేజీ ఈ పేజీ oneAPI టూల్‌కిట్‌లపై సంక్షిప్త పరిచయం మరియు ఉపయోగకరమైన వనరులకు లింక్‌లను కలిగి ఉంది.
GDB* రిఫరెన్స్ షీట్ కోసం Intel® పంపిణీ ఈ ఒక-పేజీ పత్రం GDB* ముందస్తు అవసరాలు మరియు ఉపయోగకరమైన ఆదేశాల కోసం Intel® పంపిణీని క్లుప్తంగా వివరిస్తుంది.
జాకోబి ఎస్ample ఈ చిన్న SYCL* అప్లికేషన్ రెండు వెర్షన్‌లను కలిగి ఉంది: బగ్ చేయబడింది మరియు పరిష్కరించబడింది. లను ఉపయోగించండిampGDB* కోసం Intel® డిస్ట్రిబ్యూషన్‌తో అప్లికేషన్ డీబగ్గింగ్‌ను వ్యాయామం చేయడానికి le.
నోటీసులు మరియు నిరాకరణలు

ఇంటెల్ టెక్నాలజీలకు ప్రారంభించబడిన హార్డ్‌వేర్, సాఫ్ట్‌వేర్ లేదా సేవా క్రియాశీలత అవసరం కావచ్చు.

ఏ ఉత్పత్తి లేదా భాగం ఖచ్చితంగా సురక్షితంగా ఉండదు.

మీ ఖర్చులు మరియు ఫలితాలు మారవచ్చు.

© ఇంటెల్ కార్పొరేషన్. ఇంటెల్, ఇంటెల్ లోగో మరియు ఇతర ఇంటెల్ గుర్తులు ఇంటెల్ కార్పొరేషన్ లేదా దాని అనుబంధ సంస్థల ట్రేడ్‌మార్క్‌లు. ఇతర పేర్లు మరియు బ్రాండ్‌లు ఇతరుల ఆస్తిగా క్లెయిమ్ చేయబడవచ్చు.

ఈ పత్రం ద్వారా ఏదైనా మేధో సంపత్తి హక్కులకు లైసెన్స్ (ఎక్స్‌ప్రెస్ లేదా ఇంప్లీడ్, ఎస్టోపెల్ ద్వారా లేదా ఇతరత్రా) మంజూరు చేయబడదు.

వివరించిన ఉత్పత్తులు డిజైన్ లోపాలు లేదా ఎర్రాటా అని పిలువబడే ఎర్రర్‌లను కలిగి ఉండవచ్చు, దీని వలన ఉత్పత్తి ప్రచురించబడిన స్పెసిఫికేషన్‌ల నుండి వైదొలగవచ్చు. అభ్యర్థనపై ప్రస్తుత క్యారెక్టరైజ్డ్ ఎర్రాటా అందుబాటులో ఉన్నాయి.

Intel అన్ని ఎక్స్‌ప్రెస్ మరియు ఇంప్లైడ్ వారెంటీలను నిరాకరిస్తుంది, పరిమితి లేకుండా, వర్తకం యొక్క సూచిత వారెంటీలు, నిర్దిష్ట ప్రయోజనం కోసం ఫిట్‌నెస్ మరియు ఉల్లంఘన రహితం, అలాగే పనితీరు, లావాదేవీల విధానం లేదా వాణిజ్యంలో వినియోగం నుండి ఉత్పన్నమయ్యే ఏదైనా వారంటీ.

OpenCL మరియు OpenCL లోగో అనేది Apple Inc. యొక్క ట్రేడ్‌మార్క్‌లు, క్రోనోస్ అనుమతి ద్వారా ఉపయోగించబడతాయి.

పత్రాలు / వనరులు

Linux OS హోస్ట్‌లో GDB కోసం intel డిస్ట్రిబ్యూషన్ [pdf] యూజర్ గైడ్
Linux OS హోస్ట్‌లో GDB కోసం పంపిణీ, Linux OS హోస్ట్‌లో GDB, Linux OS హోస్ట్, OS హోస్ట్, హోస్ట్

సూచనలు

వ్యాఖ్యానించండి

మీ ఇమెయిల్ చిరునామా ప్రచురించబడదు. అవసరమైన ఫీల్డ్‌లు గుర్తించబడ్డాయి *