Ibda bl-Intel® Distribution għal GDB* fuq Linux* OS Host

Ibda uża l-Intel® Distribution għal GDB* għal applikazzjonijiet ta' debugging. Segwi l-istruzzjonijiet hawn taħt biex twaqqaf id-debugger biex tiddibaggja l-applikazzjonijiet bil-kernels maħlula għal apparati CPU u GPU.

Id-Distribuzzjoni Intel® għal GDB* hija disponibbli bħala parti mill-Intel® oneAPI Base Toolkit. Għal aktar informazzjoni dwar settijiet ta' għodod oneAPI, żur il- paġna tal-prodott.

Żur il- Noti ta' Ħruġ paġna għal informazzjoni dwar kapaċitajiet ewlenin, karatteristiċi ġodda, u kwistjonijiet magħrufa.

Tista' tuża SYCL* sampil-kodiċi, Array Transform, biex tibda bid-Distribuzzjoni Intel® għal GDB*. Is-sample ma jiġġenerax żbalji u sempliċement juri l-karatteristiċi tad-debugger. Il-kodiċi jipproċessa elementi tal-array ta' input skont jekk humiex pari jew fard u jipproduċi array ta' output. Tista' tuża l-sample biex tiddibaggja kemm fuq is-CPU kif ukoll il-GPU, billi tispeċifika l-apparat magħżul permezz ta 'argument tal-linja tal-kmand. Innota madankollu li d-debugging tal-GPU jista 'jeħtieġ żewġ sistemi u konfigurazzjoni addizzjonali għal debugging remot.

Prerekwiżiti

Jekk inti timmira li tiddibaggja fuq il-GPU, installa l-aħħar sewwieqa tal-GPU u kkonfigura s-sistema tiegħek biex tużahom. Irreferi għall- Gwida ta' Installazzjoni ta' Toolkits Intel® oneAPI għal OS Linux*. Segwi l-istruzzjonijiet Installa Intel GPU Drivers biex tinstalla sewwieqa tal-GPU li jaqblu mas-sistema tiegħek.

Barra minn hekk, tista 'tinstalla estensjoni għal Visual Studio Code* għad-debugging tal-GPU b'Distribuzzjoni Intel® għal GDB*. Irreferi għall- Bl-użu tal-Kodiċi tal-Visual Studio mal-Gwida tal-Għodda tal-Intel® oneAPI.

Waħħal id-Debugger tal-GPU

Biex twaqqaf id-debugger tal-GPU, irid ikollok aċċess għall-għeruq.


NOTA Waqt id-debugging tal-qalba, il-GPU titwaqqaf u l-output tal-vidjo ma jkunx disponibbli fuq il-magna fil-mira tiegħek. Minħabba dan, ma tistax tiddibaggja l-GPU mis-sistema fil-mira jekk il-karta GPU tas-sistema tintuża wkoll għall-output grafiku. F'dan il-każ, qabbad mal-magna permezz ta 'ssh.


1. Jekk inti timmira li tiddibaggja fuq GPU, huwa meħtieġ Linux Kernel li jappoġġja d-debugging tal-GPU.

a. Segwi l-istruzzjonijiet fuq Softwer Intel® għal kapaċitajiet ta' GPU għal skopijiet ġenerali biex tniżżel u tinstalla s-sewwieqa meħtieġa.
b. Ippermetti l-appoġġ tad-debug i915 fil-kernel:

a. Iftaħ terminal.
b. Iftaħ il-grub file f'/etc/default.
c. Fil-grub file, sib il-linja GRUB_CMDLINE_LINUX_DEFAULT="".
d. Daħħal it-test li ġej bejn il-kwotazzjonijiet (“”):

i915.debug_eu=1


NOTA B'mod awtomatiku, is-sewwieq tal-GPU ma jippermettix li l-piżijiet tax-xogħol jaħdmu fuq GPU itwal minn ċertu ammont ta 'żmien. Is-sewwieq joqtol dawn il-piżijiet tax-xogħol fit-tul billi jissettja mill-ġdid il-GPU biex jipprevjeni hangs. Il-mekkaniżmu hangcheck tas-sewwieq huwa diżattivat jekk l-applikazzjoni tkun qed taħdem taħt id-debugger. Jekk qed tippjana li tmexxi workloads ta' komputazzjoni twal ukoll mingħajr ma jkun imwaħħal debugger, ikkunsidra li tapplika GPU: Iddiżattiva Hangcheck billi żżid

i915.enable_hangcheck=0

għall-istess GRUB_CMDLINE_LINUX_DEFAULT linja.

c. Aġġorna GRUB biex dawn il-bidliet jidħlu fis-seħħ:

sudo update-grub

d. Reboot.

2. Stabbilixxi l-ambjent CLI tiegħek billi jakkwista l-iskrittura setvars li tinsab fl-għerq tal-installazzjoni tal-għodda tiegħek.

Linux (sudo):

sors /opt/intel/oneapi/setvars.sh

Linux (utent):

sors ~/intel/oneapi/setvars.sh

3. Setup ambjent
Uża l-varjabbli ambjentali li ġejjin biex tippermetti l-appoġġ tad-debugger għal Intel® oneAPI Level Zero:

esporta ZET_ENABLE_PROGRAM_DEBUGGING=1
esporta IGC_EnableGTLocationDebugging=1

4. Kontroll tas-sistema
Meta kollox ikun lest, jekk jogħġbok mexxi l-kmand li ġej biex tikkonferma li l-konfigurazzjoni tas-sistema hija affidabbli:

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

Output possibbli ta’ sistema kkonfigurata tajjeb huwa kif ġej:


Iċċekkja r-riżultati:
==================================================== =================================
Iċċekkja l-isem: debugger_sys_check
Deskrizzjoni: Dan il-kontroll jivverifika jekk l-ambjent huwiex lest biex juża gdb (Distribuzzjoni Intel(R) għal GDB*).
Status tar-riżultat: PASS
Debugger misjub.
libipt misjuba.
libiga misjuba.
i915 debug huwa attivat.
Varjabbli ambjentali korretti. ==================================================== ==================================

1 KONTROLL: 1 Jgħaddi, 0 FAIL, 0 TWISSIJIET, 0 ŻBALJI

Output tal-console file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt Output JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json ...

Ikkompila l-Programm bl-Informazzjoni tad-Debug

Tista' tuża l-sample proġett, Array Transform, biex tibda malajr bid-debugger tal-applikazzjoni.

1. Biex tikseb l-sample, agħżel xi wieħed mill-modi li ġejjin:

2. Innaviga lejn l-src tal-sampil-proġett:

cd array-transform/src

3. Ikkompila l-applikazzjoni billi tattiva l-informazzjoni tad-debug (bandiera -g) u titfi l-ottimizzazzjonijiet (bandiera -O0).
Id-diżattivazzjoni tal-ottimizzazzjoni hija rakkomandata għal ambjent ta' debug stabbli u preċiż. Dan jgħin biex tiġi evitata l-konfużjoni kkawżata minn bidliet fil-kodiċi wara l-ottimizzazzjonijiet tal-kompilatur.


NOTA Xorta tista' tiġbor il-programm bl-ottimizzazzjoni attivata (bandiera -O2), li tista' tkun ta' għajnuna jekk timmira lejn id-debugging tal-assemblaġġ tal-GPU.


Tista 'tiġbor il-programm f'diversi modi. L-għażliet 1 u 2 jużaw kumpilazzjoni just-in-time (JIT), li hija rakkomandata biex tiddibaggja l-sample. L-Għażla 3 tuża kumpilazzjoni qabel iż-żmien (AOT).

  • Għażla 1. Tista 'tuża l-CMake file biex tikkonfigura u tibni l-applikazzjoni. Irreferi għall- README tas-sample għall-istruzzjonijiet.

NOTA Il-CMake file ipprovdut bl-sample diġà tgħaddi l-bnadar -g -O0.


  • Għażla 2. Biex tikkompila l-array-transform.cpp sample applikazzjoni mingħajr il-CMake file, agħti l-kmandi li ġejjin:

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

Jekk il-kumpilazzjoni u l-irbit isiru separatament, żomm il-bnadar -g -O0 fil-pass tal-link. Il-pass tal-link huwa meta icpx jittraduċi dawn il-bnadar biex jiġu mgħoddija lill-kompilatur tal-apparat waqt ir-runtime. Eżample:

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

  • Għażla 3. Tista 'tuża l-kumpilazzjoni AOT biex tevita ħinijiet itwal ta' kumpilazzjoni JIT waqt ir-runtime. Il-kumpilazzjoni JIT tista' tieħu ħafna aktar żmien għal qlub kbar taħt id-debugger. Biex tuża l-mod ta' kumpilazzjoni qabel iż-żmien:

• Għal debugging fuq GPU:
Speċifika l-apparat li se tuża għall-eżekuzzjoni tal-programm. Per example, -device dg2-g10 għal Intel® Data Center GPU Flex 140 Graphics. Għal-lista ta 'għażliet appoġġjati u aktar informazzjoni dwar il-kumpilazzjoni AOT, irreferi għall- Gwida u Referenza għall-Iżviluppatur tal-Kompilatur Intel® oneAPI DPC++.
Per example:

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

Il-kumpilazzjoni qabel iż-żmien teħtieġ l-OpenCLTM Offline Compiler (OC Compiler LOC). Għal aktar informazzjoni, irreferi t-taqsima “Installa OpenCLTM Offline Compiler (OCLOC)” tal- Gwida għall-Installazzjoni.

• Għal debugging fuq CPU:

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

Ibda Sessjoni ta' Debug

Ibda s-sessjoni tad-debug:

1. Ibda Intel® Distribution għal GDB* kif ġej:

gdb-oneapi array-transform

Għandek tara l-pront (gdb).

2. Biex taċċerta ruħek li l-qalba tinħela fuq l-apparat it-tajjeb, agħmel il-passi li ġejjin. Meta tesegwixxi l-kmand tal-ġirja mill-pront (gdb), għaddi l- CPU, gpu or aċċeleratur argument:

  • Għal debugging fuq is-CPU:

run CPU

Example output:

[SYCL] Apparat bl-użu: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] minn [Intel(R) OpenCL]
  • Għad-debugging fuq il-GPU:

run gpu

Example output:

[SYCL] Apparat bl-użu: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] minn [Intel(R) LevelZero]
  • Għad-debugging fuq l-emulatur FPGA:

aċċeleratur run

Example output:

[SYCL] Bl-użu ta' apparat: [Intel(R) FPGA Emulation Device] minn [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]

NOTA Il-parametri cpu, gpu, u aċċeleratur huma speċifiċi għall-applikazzjoni Array Transform.


3. Biex tieqaf mill-Intel® Distribution għal GDB*:

nieqaf

Għall-konvenjenza tiegħek, Intel® Distribution komuni għall-kmandi GDB* huma pprovduti fil- Folja ta' Referenza.

Biex tiddibaggja l-Array Transform sample u titgħallem aktar dwar Intel® Distribution għal GDB*, imxi fix-xenarji bażiċi ta' debugging billi tuża l- Tutorja.

Tgħallem Aktar
Dokument Deskrizzjoni
Tutorja: Debugging b'Intel® Distribution għal GDB* Dan id-dokument jiddeskrivi x-xenarji bażiċi li għandhom isegwu waqt id-debugging ta' SYCL* u OpenCL b'Intel® Distribution għal GDB*.
Gwida għall-Utent tad-Distribuzzjoni Intel® għal GDB* Dan id-dokument jiddeskrivi l-kompiti komuni kollha li tista 'tlesti bl-Intel® Distribution għal GDB* u jipprovdi d-dettalji tekniċi meħtieġa.
Distribuzzjoni Intel® għal GDB* Noti ta' Rilaxx In-noti fihom informazzjoni dwar kapaċitajiet ewlenin, karatteristiċi ġodda, u kwistjonijiet magħrufa ta 'Distribuzzjoni Intel® għal GDB*.
Paġna tal-Prodott oneAPI Din il-paġna fiha introduzzjoni qasira dwar settijiet ta' għodod oneAPI u links għal riżorsi utli.
Id-Distribuzzjoni Intel® għal Folja ta' Referenza tal-GDB* Dan id-dokument ta 'paġna waħda jiddeskrivi fil-qosor Intel® Distribution għal GDB* prerekwiżiti u kmandi utli.
Jacobi Sample Din l-applikazzjoni żgħira SYCL* għandha żewġ verżjonijiet: bugged u fiss. Uża l-sample biex teżerċita l-debugging tal-applikazzjoni b'Intel® Distribution għal GDB*.
Avviżi u Ċaħdiet

It-teknoloġiji Intel jistgħu jeħtieġu attivazzjoni ta' ħardwer, softwer jew servizz attivat.

L-ebda prodott jew komponent ma jista 'jkun assolutament sigur.

L-ispejjeż u r-riżultati tiegħek jistgħu jvarjaw.

© Intel Corporation. Intel, il-logo Intel, u marki oħra Intel huma trademarks ta' Intel Corporation jew is-sussidjarji tagħha. Ismijiet u marki oħra jistgħu jiġu mitluba bħala l-proprjetà ta 'oħrajn.

L-ebda liċenzja (espressa jew impliċita, b'estoppel jew mod ieħor) għal xi drittijiet tal-proprjetà intellettwali ma tingħata minn dan id-dokument.

Il-prodotti deskritti jista 'jkun fihom difetti tad-disinn jew żbalji magħrufa bħala errata li jistgħu jikkawżaw li l-prodott jiddevja mill-ispeċifikazzjonijiet ippubblikati. Errata karatterizzata kurrenti huma disponibbli fuq talba.

Intel tiċħad il-garanziji espressi u impliċiti kollha, inklużi mingħajr limitazzjoni, il-garanziji impliċiti ta' kummerċjabbiltà, idoneità għal skop partikolari, u non-ksur, kif ukoll kwalunkwe garanzija li tirriżulta mill-kors tal-prestazzjoni, il-kors tan-negozju, jew l-użu fil-kummerċ.

OpenCL u l-logo OpenCL huma trademarks ta’ Apple Inc. użati bil-permess minn Khronos.

Dokumenti / Riżorsi

Intel Distribution għal GDB fuq Linux OS Host [pdfGwida għall-Utent
Distribuzzjoni għal GDB fuq Linux OS Host, GDB fuq Linux OS Host, Linux OS Host, OS Host, Host

Referenzi

Ħalli kumment

L-indirizz elettroniku tiegħek mhux se jiġi ppubblikat. L-oqsma meħtieġa huma mmarkati *