Qalisa ngoSasazo lwe-Intel® lwe-GDB* kwi-Linux* Umamkeli we-OS

Qalisa ukusebenzisa i-Intel® Distribution ye-GDB* ukwenzela ukulungisa ii-aplikeshini. Landela le miyalelo ingezantsi ukuseta idebugger ukulungisa ii-aplikeshini ngeenkozo ezikhutshelwe kwi-CPU kunye nezixhobo ze-GPU.

I-Intel® Distribution ye-GDB* iyafumaneka njengenxalenye ye-Intel® oneAPI Base Toolkit. Ngolwazi oluthe kratya kwi-oneAPI toolkits, ndwendwela i iphepha lemveliso.

Ndwendwela i Khupha amanqaku iphepha lolwazi malunga nezakhono eziphambili, iimpawu ezintsha, kunye nemiba eyaziwayo.

Ungasebenzisa iSYCL* sample khowudi, iArray Transform, ukuqalisa ngeIntel® Distribution yeGDB*. I-sampi-le ayivezi iimpazamo kwaye ibonisa ngokulula iimpawu ze-debugger. Ikhowudi iqhuba izinto zoluhlu lwegalelo ngokuxhomekeke ekubeni zilinganayo okanye aziqhelekanga kwaye zivelise uluhlu lwemveliso. Ungasebenzisa i-sample ukulungisa ingxaki kuzo zombini i-CPU okanye i-GPU, ikhankanya isixhobo esikhethiweyo ngengxoxo yelayini yomyalelo. Qaphela nangona ukulungiswa kwe-GPU kunokufuna iinkqubo ezimbini kunye noqwalaselo olongezelelweyo lolungiso olude.

Izinto ezifunekayo kuqala

Ukuba ujonge ukulungisa ingxaki kwiGPU, faka abaqhubi beGPU zakutsha nje kwaye uqwalasele inkqubo yakho ukuze ubasebenzise. Jonga kwi Isikhokelo sokuFakelo se-Intel® oneAPI ye-Linux* OS. Landela imiyalelo Faka abaqhubi be-Intel GPU ukufaka abaqhubi beGPU abahambelana nenkqubo yakho.

Ukongeza, ungafaka ulwandiso lweKhowudi yeSitudiyo esiBonakalayo* sokulungisa iimpazamo kwi-GPU nge-Intel® Distribution ye-GDB*. Jonga kwi Ukusebenzisa iKhowudi ye-Visual Studio ene-Intel® oneAPI Toolkits Guide.

Seta i-GPU Debugger

Ukuseta i-GPU debugger, kufuneka ube nofikelelo lweengcambu.


PHAWULA Ngexesha lokulungiswa kwe-kernel, i-GPU iyanqunyanyiswa kwaye imveliso yevidiyo ayifumaneki kumatshini ojolise kuwo. Ngenxa yoku, awukwazi ukulungisa i-GPU kwinkqubo ekujoliswe kuyo ukuba ikhadi le-GPU lenkqubo likwasetyenziselwa imveliso yegraphical. Kule meko, qhagamshela kumatshini nge-ssh.


1. Ukuba ujonge ukulungisa ingxaki kwi-GPU, i-Linux Kernel exhasa ukulungiswa kweGPU iyafuneka.

a. Landela imiyalelo apha Isoftware ye-Intel® yenjongo jikelele yezakhono zeGPU ukukhuphela kwaye ufake abaqhubi abayimfuneko.
b. Nika inkxaso ye-i915 debug kwi-Kernel:

a. Vula i-terminal.
b. Vula igrub file kwi/etc/default.
c. Kwi grub file, fumana umgca GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Faka lo mbhalo ulandelayo phakathi kwezicatshulwa (“”):

i915.debug_eu=1


PHAWULA Ngokungagqibekanga, umqhubi weGPU akavumeli imithwalo yomsebenzi ukuba iqhube kwi-GPU ixesha elide kunexesha elithile. Umqhubi ubulala umthwalo onjalo osebenza ixesha elide ngokuseta kwakhona i-GPU ukuthintela ukuxhoma. I-hangcheck mechanism yomqhubi ivaliwe ukuba isicelo sisebenza phantsi kwe-debugger. Ukuba uceba ukuqhuba imithwalo yemisebenzi emide ngaphandle kokuba i-debugger iqhotyoshelwe, cinga ngokufaka isicelo I-GPU: Khubaza i-Hangcheck ngokongeza

i915.enable_hangcheck=0

ngokufanayo GRUB_CMDLINE_LINUX_DEFAULT umgca.

c. Hlaziya i-GRUB ukuze olu tshintsho lusebenze:

sudo uhlaziyo-grub

d. Qalisa kwakhona.

2. Cwangcisa imeko-bume yakho ye-CLI ngokukhangela iskripthi se-setvars esikwingcambu yofakelo lwekhithi yesixhobo sakho.

Linux (sudo):

umthombo /opt/intel/oneapi/setvars.sh

I-Linux (umsebenzisi):

umthombo ~/intel/oneapi/setvars.sh

3. Seta imeko-bume
Sebenzisa oku kuguquguquka kwemeko-bume kulandelayo ukwenza inkxaso ye-debugger ye-Intel® oneAPI yeNqanaba elinguZero:

thumela ngaphandle ZET_ENABLE_PROGRAM_DEBUGGING=1
thumela ngaphandle IGC_EnableGTLocationDebugging=1

4. Ukujonga inkqubo
Xa yonke into ilungile, nceda uqhube lo myalelo ulandelayo ukuze uqinisekise ukuba ubumbeko lwenkqubo luthembekile:

python3 /indlela/ukuya/intel/oneapi/diagnostics/latest/diagnostics.py -filter debugger_sys_check -force

Imveliso enokwenzeka yenkqubo eqwalaselwe kakuhle ngolu hlobo lulandelayo:


Qwalasela iziphumo:
=================================================== ================================
Khangela igama: debugger_sys_check
Inkcazo: Olu qwalaselo luqinisekisa ukuba imeko-bume ikulungele na ukusebenzisa i-gdb (Intel(R) Unikezelo lwe-GDB*).
Isimo sesiphumo: PASS
Idebugger ifunyenwe.
libipt ifunyenwe.
i-libiga ifunyenwe.
i915 debug yenziwe.
Izinto eziguquguqukayo zokusingqongileyo zilungile. =================================================== =================================

1 TSHEKI: 1 PASS, 0 FAIL, 0 WARNING, 0 ERRORS

Imveliso yeConsole file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON imveliso file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Qokelela iNkqubo ngoLwazi lweDebug

Ungasebenzisa i-sample projekthi, iArray Transform, ukuqalisa ngokukhawuleza ngedebugger yesicelo.

1. Ukuze ufumane i-sample, khetha nayiphi na kwezi ndlela zilandelayo:

2. Layisha ukuya kwi-src ye-sample projekthi:

uluhlu lwe-cd-transform/src

3. Qokelela usetyenziso ngokwenza ulwazi lolungiso lweempazamo (-g iflegi) kwaye ucime ulungiselelo (-O0 iflegi).
Ukukhubaza ulungiselelo kuyacetyiswa kwindawo ezinzileyo nechanekileyo yolungiso lweempazamo. Oku kunceda ukuphepha ukudideka okubangelwa utshintsho kwikhowudi emva kokulungiswa komqokeleli.


PHAWULA Usenako ukuqulunqa inkqubo ngokulungiselela (-O2 iflegi), enokuba luncedo ukuba ujolise kwi-GPU yokulungisa ingxaki.


Ungaqokelela inkqubo ngeendlela ezininzi. Ukhetho loku-1 kunye nolwesi-2 lusebenzisa nje-ngexesha (JIT) uqulunqo, olucetyiswayo ukulungisa ingxakiample. Ukhetho lwe-3 lusebenzisa ukuhlanganiswa kwangaphambili kwexesha (AOT).

  • Ukhetho 1. Ungasebenzisa i CMake file ukuqwalasela nokwakha isicelo. Jonga kwi FUNDA kwe sample kwimiyalelo.

PHAWULA I-CMake file kubonelelwe nge-sample sele idlulile i -g -O0 iflegi.


  • Ukhetho lwesi-2. Ukuqokelela i-array-transform.cpp sample isicelo ngaphandle CMake file, khupha le miyalelo ilandelayo:

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

Ukuba ukuhlanganiswa kunye nokudibanisa kwenziwa ngokwahlukeneyo, gcina i--g -O0 iflegi kwinqanaba lekhonkco. Inyathelo lekhonkco kuxa i-icpx iguqulela ezi flegi ukuba zigqithiselwe kumqokeleli wesixhobo ngexesha lokusebenza. Eksample:

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

  • Inketho yesi-3. Ungasebenzisa ukuhlanganiswa kwe-AOT ukuze ugweme ixesha elide lokuhlanganisa i-JIT ngexesha lokusebenza. Ukuhlanganiswa kwe-JIT kunokuthatha ixesha elide kakhulu kwiinkozo ezinkulu phantsi kwe-debugger. Ukusebenzisa imowudi yokuhlanganiswa kwaPhambi kweXesha:

• Ukulungisa ingxaki kwiGPU:
Chaza isixhobo oza kusisebenzisa kuphunyezo lwenkqubo. Umzekeloample, -isixhobo dg2-g10 for Intel® Data Centre GPU Flex 140 Graphics. Ngoluhlu lweenketho ezixhaswayo kunye nolwazi oluthe kratya malunga nokuqulunqwa kwe-AOT, bhekisa ku I-Intel® oneAPI DPC++ IsiKhokelo soPhuhlisi soMqulunqi kunye neNgcaciso.
Umzekeloample:

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

Ukuqulunqwa kwangaphambili kwexesha kufuna i-OpenCLTM Offline Compiler (i-OC Compiler LOC). Ngolwazi oluthe vetshe, jonga icandelo “Fakela i-OpenCLTM Offline Compiler (OCLOC)” ye Isikhokelo soFakelo.

• Ukulungisa ingxaki kwi-CPU:

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

Qala iSeshini yokulungisa iimpazamo

Qala iseshoni yokulungisa ingxaki:

1. Qalisa i-Intel® Distribution ye-GDB* ngolu hlobo lulandelayo:

gdb-oneapi array-transform

Kuya kufuneka ubone i (gdb) ngokukhawuleza.

2. Ukuqinisekisa ukuba i-kernel ikhutshiwe kwisixhobo esifanelekileyo, yenza la manyathelo alandelayo. Xa uphumeza umyalelo wokubaleka kwi (gdb) ngokukhawuleza, dlula i ICPU, gpu or i-accelerator ingxoxo:

  • Ukulungisa ingxaki kwi-CPU:

sebenzisa cpu

Example imveliso:

[SYCL] Ukusebenzisa isixhobo: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] ukusuka [Intel(R) OpenCL]
  • Ukulungisa ingxaki kwiGPU:

sebenzisa i-gpu

Example imveliso:

[SYCL] Ukusebenzisa isixhobo: [Intel(R) Iziko leDatha GPU Flex Series 140 [0x56c1]] ukusuka [Intel(R) LevelZero]
  • Ukulungisa ingxaki kwi-FPGA-emulator:

sebenzisa i-accelerator

Example imveliso:

[SYCL] Ukusebenzisa isixhobo: [Intel(R) FPGA Emulation Device] ukusuka [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]

PHAWULA I-cpu, i-gpu, kunye neeparamitha ze-accelerator zithe ngqo kwi-Array Transform yesicelo.


3. Ukuyeka i-Intel® Distribution ye-GDB*:

yeka

Ukwenzela lula, imiyalelo eqhelekileyo ye-Intel® Distribution ye-GDB* inikwe kwi Iphepha leNkomba.

Ukulungisa i-Array Transform sampkwaye ufunde ngakumbi malunga ne-Intel® Distribution ye-GDB*, hamba ngeemeko ezisisiseko zolungiso lweempazamo usebenzisa i Isifundo.

Funda nzulu
Uxwebhu Inkcazo
Isifundo: Ukulungisa ingxaki nge-Intel® Distribution ye-GDB* Olu xwebhu luchaza iimeko ezisisiseko ekufuneka uzilandele ngelixa ulungisa iimpazamo kwi-SYCL* kunye ne-OpenCL nge-Intel® Distribution ye-GDB*.
Usasazo lwe-Intel® lwe-GDB* Isikhokelo somsebenzisi Olu xwebhu luchaza yonke imisebenzi eqhelekileyo onokuthi uyigqibe nge-Intel® Distribution ye-GDB* kwaye ibonelela ngeenkcukacha zobugcisa eziyimfuneko.
Usasazo lwe-Intel® lwe-GDB* Ukukhutshwa kwamanqaku Amanqaku aqulethe ulwazi malunga nezakhono eziphambili, iimpawu ezintsha, kunye nemiba eyaziwayo ye-Intel® Distribution ye-GDB*.
OneAPI Product Page Eli phepha liqulethe intshayelelo emfutshane kwi-oneAPI toolkits kunye nekhonkco kwizixhobo eziluncedo.
Usasazo lwe-Intel® lwe-GDB* iPhepha loReferensi Olu xwebhu lwephepha elinye luchaza ngokufutshane iIntel® Distribution ye-GDB* izinto ezifunekayo kunye nemiyalelo eluncedo.
Jacob Sample Esi sicelo sincinci seSYCL* sineenguqulelo ezimbini: ibugged kwaye ilungisiwe. Sebenzisa ukample ukusebenzisa inkqubo yokulungisa ingxaki nge-Intel® Distribution ye-GDB*.
Izaziso kunye neZikhuphelo

Iitekhnoloji ze-Intel zinokufuna i-Hardware, isoftware okanye isebenze.

Akukho mveliso okanye inxalenye inokukhuseleka ngokupheleleyo.

Iindleko zakho kunye neziphumo zinokwahluka.

© Intel Corporation. I-Intel, ilogo ye-Intel, kunye nezinye iimpawu ze-Intel ziimpawu zorhwebo ze-Intel Corporation okanye iinkampani eziphantsi kwayo. Amanye amagama kunye neempawu zingabangwa njengempahla yabanye.

Akukho layisenisi (ecaciswayo okanye ekhankanyiweyo, nge-estoppel okanye ngenye indlela) kuwo nawaphi na amalungelo epropathi enomgangatho ophezulu wokuqonda inikwe kolu xwebhu.

Iimveliso ezichaziweyo zinokuqulatha iziphene zoyilo okanye iimpazamo ezaziwa ngokuba yierrata ezinokubangela ukuba imveliso ijike kwiinkcukacha ezipapashiweyo. Iimpazamo ezikhoyo ngoku ziyafumaneka xa ziceliwe.

I-Intel iyazikhupha zonke iziqinisekiso ezicacileyo nezichaziweyo, kubandakanywa ngaphandle komlinganiselo, iziqinisekiso ezichaziweyo zokurhweba, ukufaneleka kwenjongo ethile, kunye nokungonakali, kunye nayo nayiphi na iwaranti evela kwikhosi yokusebenza, ikhosi yokuthengisa, okanye ukusetyenziswa kwezorhwebo.

I-OpenCL kunye nelogo ye-OpenCL ziimpawu zentengiso ze-Apple Inc. ezisetyenziswa ngemvume ka-Khronos.

Amaxwebhu / Izibonelelo

Ukwabiwa kwe-intel ye-GDB kwi-Linux OS Umamkeli [pdf] Isikhokelo somsebenzisi
Usasazo lwe-GDB kwi-Linux OS Host, i-GDB kwi-Linux OS Host, i-Linux OS Host, i-OS Host, i-Host

Iimbekiselo

Shiya uluvo

Idilesi yakho ye-imeyile ayizupapashwa. Iindawo ezifunekayo ziphawulwe *