Începeți cu Intel® Distribution for GDB* pe Linux* OS Host

Începeți să utilizați Intel® Distribution for GDB* pentru depanarea aplicațiilor. Urmați instrucțiunile de mai jos pentru a configura depanatorul pentru a depana aplicațiile cu nuclee descărcate pe dispozitivele CPU și GPU.

Intel® Distribution for GDB* este disponibil ca parte a Intel® oneAPI Base Toolkit. Pentru mai multe informații despre seturile de instrumente oneAPI, vizitați pagina produsului.

Vizitați Note de lansare pagina pentru informații despre capabilitățile cheie, caracteristicile noi și problemele cunoscute.

Puteți folosi un SYCL* sampcodul de fișier, Array Transform, pentru a începe cu Intel® Distribution pentru GDB*. sampchiul nu generează erori și pur și simplu ilustrează caracteristicile depanatorului. Codul procesează elemente ale matricei de intrare în funcție de faptul că sunt pare sau impar și produce o matrice de ieșire. Puteți folosi sampchiul de depanare atât pe CPU, cât și pe GPU, specificând dispozitivul ales printr-un argument de linie de comandă. Rețineți totuși că depanarea GPU poate necesita două sisteme și configurație suplimentară pentru depanarea la distanță.

Cerințe preliminare

Dacă intenționați să depanați pe GPU, instalați cele mai recente drivere GPU și configurați sistemul pentru a le utiliza. Consultați Ghid de instalare a setului de instrumente Intel® oneAPI pentru sistemul de operare Linux*. Urmează instrucțiunile Instalați drivere Intel GPU pentru a instala drivere GPU care se potrivesc cu sistemul dvs.

În plus, puteți instala o extensie pentru Visual Studio Code* pentru depanarea GPU-ului cu Intel® Distribution pentru GDB*. Consultați Utilizarea codului Visual Studio cu Ghidul Intel® oneAPI Toolkits.

Configurați GPU Debugger

Pentru a configura depanatorul GPU, trebuie să aveți acces root.


NOTA În timpul depanării nucleului, GPU-ul este oprit și ieșirea video nu este disponibilă pe computerul țintă. Din acest motiv, nu puteți depana GPU-ul din sistemul țintă dacă placa GPU a sistemului este folosită și pentru ieșire grafică. În acest caz, conectați-vă la aparat prin ssh.


1. Dacă doriți să depanați pe GPU, este necesar un kernel Linux care acceptă depanarea GPU.

a. Urmați instrucțiunile de la Software Intel® pentru capabilități GPU de uz general pentru a descărca și instala driverele necesare.
b. Activați suportul de depanare i915 în Kernel:

a. Deschideți un terminal.
b. Deschide grub file în /etc/default.
c. În grub file, găsiți linia GRUB_CMDLINE_LINUX_DEFAULT="”.
d. Introdu următorul text între ghilimele (“”):

i915.debug_eu=1


NOTA În mod implicit, driverul GPU nu permite încărcărilor de lucru să ruleze pe un GPU mai mult de o anumită perioadă de timp. Driverul oprește astfel de sarcini de lucru de lungă durată prin resetarea GPU-ului pentru a preveni blocările. Mecanismul de verificare a blocării driverului este dezactivat dacă aplicația rulează sub depanator. Dacă intenționați să rulați încărcături de lucru lungi și fără a fi atașat un depanator, luați în considerare aplicarea GPU: dezactivează verificarea blocării prin adăugarea

i915.enable_hangcheck=0

la acelasi GRUB_CMDLINE_LINUX_DEFAULT linie.

c. Actualizați GRUB pentru ca aceste modificări să intre în vigoare:

sudo update-grub

d. Reporniți.

2. Configurați-vă mediul CLI prin aprovizionarea cu scriptul setvars situat în rădăcina instalării setului de instrumente.

Linux (sudo):

sursa /opt/intel/oneapi/setvars.sh

Linux (utilizator):

sursa ~/intel/oneapi/setvars.sh

3. Mediul de configurare
Utilizați următoarele variabile de mediu pentru a activa suportul pentru depanare pentru Intel® oneAPI Level Zero:

exportați ZET_ENABLE_PROGRAM_DEBUGGING=1
exportați IGC_EnableGTLocationDebugging=1

4. Verificarea sistemului
Când totul este gata, rulați următoarea comandă pentru a confirma că configurația sistemului este fiabilă:

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

O posibilă ieșire a unui sistem bine configurat este următoarea:


Verifică rezultatele:
==================================================== ================================
Verificați numele: debugger_sys_check
Descriere: această verificare verifică dacă mediul este pregătit pentru utilizare gdb (Distribuție Intel(R) pentru GDB*).
Stare rezultat: PASS
Depanator găsit.
libipt găsit.
libiga găsită.
Depanarea i915 este activată.
Variabilele de mediu corecte. ==================================================== =================================

1 VERIFICARE: 1 RECES, 0 ESCUT, 0 AVERTIZARE, 0 ERORI

Ieșire de consolă file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt Ieșire JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Compilați programul cu informații de depanare

Puteți folosi sampproiectul, Array Transform, pentru a începe rapid cu depanatorul aplicației.

1. Pentru a obține sample, alegeți oricare dintre următoarele moduri:

2. Navigați la src-ul sampproiectul:

cd array-transform/src

3. Compilați aplicația activând informațiile de depanare (steagul -g) și dezactivând optimizările (steagul -O0).
Dezactivarea optimizării este recomandată pentru un mediu de depanare stabil și precis. Acest lucru ajută la evitarea confuziei cauzate de modificările aduse codului după optimizările compilatorului.


NOTA Puteți încă compila programul cu optimizarea activată (steagul -O2), ceea ce poate fi util dacă vizați depanarea ansamblului GPU.


Puteți compila programul în mai multe moduri. Opțiunile 1 și 2 folosesc compilarea just-in-time (JIT), care este recomandată pentru a depana sample. Opțiunea 3 utilizează compilarea anticipată (AOT).

  • Opțiunea 1. Puteți utiliza CMake file pentru a configura și a construi aplicația. Consultați CITEȘTE-MĂ al sample pentru instrucțiuni.

NOTA CMake file prevazuta cu sample trece deja steagurile -g -O0.


  • Opțiunea 2. Pentru a compila array-transform.cpp sampaplicația fără CMake file, lansați următoarele comenzi:

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

Dacă compilarea și legarea se fac separat, păstrați steagurile -g -O0 la pasul de legătură. Pasul de legătură este atunci când icpx traduce aceste steaguri pentru a fi transmise compilatorului dispozitivului în timpul execuției. Examppe:

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

  • Opțiunea 3. Puteți utiliza compilarea AOT pentru a evita timpi mai lungi de compilare JIT în timpul execuției. Compilarea JIT poate dura mult mai mult pentru nucleele mari sub depanator. Pentru a utiliza modul de compilare înainte de timp:

• Pentru depanare pe un GPU:
Specificați dispozitivul pe care îl veți folosi pentru execuția programului. De example, -device dg2-g10 pentru Intel® Data Center GPU Flex 140 Graphics. Pentru lista de opțiuni acceptate și mai multe informații despre compilarea AOT, consultați Ghid și referință pentru dezvoltatori al compilatorului Intel® oneAPI DPC++.
De examppe:

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

Compilarea înainte de timp necesită compilatorul offline OpenCLTM (OC Compiler LOC). Pentru mai multe informații, consultați secțiunea „Instalați OpenCLTM Offline Compiler (OCLOC)” din Ghid de instalare.

• Pentru depanare pe un procesor:

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

Începeți o sesiune de depanare

Începeți sesiunea de depanare:

1. Porniți Intel® Distribution pentru GDB* după cum urmează:

gdb-oneapi array-transform

Ar trebui să vedeți promptul (gdb).

2. Pentru a vă asigura că nucleul este descărcat pe dispozitivul potrivit, urmați pașii următori. Când executați comanda de execuție din promptul (gdb), transmiteți CPU, GPU or accelerator argument:

  • Pentru depanare pe CPU:

rulați CPU

Exampieșire le:

[SYCL] Dispozitiv care utilizează: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] de la [Intel(R) OpenCL]
  • Pentru depanare pe GPU:

rulați gpu

Exampieșire le:

[SYCL] Utilizând dispozitiv: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] de la [Intel(R) LevelZero]
  • Pentru depanare pe emulator FPGA:

rulați acceleratorul

Exampieșire le:

[SYCL] Utilizând dispozitiv: [Intel(R) FPGA Emulation Device] de la [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]

NOTA Parametrii CPU, GPU și accelerator sunt specifici aplicației Array Transform.


3. Pentru a părăsi Intel® Distribution pentru GDB*:

renunta

Pentru confortul dvs., comenzile comune Intel® Distribution pentru GDB* sunt furnizate în Fișă de referință.

Pentru a depana Array Transform sampși aflați mai multe despre Intel® Distribution for GDB*, parcurgeți scenariile de bază de depanare folosind Tutorial.

Află mai multe
Document Descriere
Tutorial: Depanare cu Intel® Distribution pentru GDB* Acest document descrie scenariile de bază de urmat în timpul depanării SYCL* și OpenCL cu Intel® Distribution pentru GDB*.
Ghidul utilizatorului Intel® Distribution for GDB* Acest document descrie toate sarcinile comune pe care le puteți finaliza cu Intel® Distribution for GDB* și oferă detaliile tehnice necesare.
Note de lansare Intel® Distribution pentru GDB* Notele conțin informații despre capabilitățile cheie, caracteristicile noi și problemele cunoscute ale Intel® Distribution for GDB*.
Pagina de produs oneAPI Această pagină conține o scurtă introducere despre seturile de instrumente oneAPI și link-uri către resurse utile.
Fișă de referință Intel® Distribution for GDB* Acest document de o pagină descrie pe scurt cerințele preliminare Intel® Distribution for GDB* și comenzile utile.
Jacobi Sample Această mică aplicație SYCL* are două versiuni: cu erori și reparate. Folosiți sample pentru a exercita depanarea aplicației cu Intel® Distribution pentru GDB*.
Notificări și declinări de răspundere

Tehnologiile Intel pot necesita activarea hardware-ului, software-ului sau serviciilor activate.

Niciun produs sau componentă nu poate fi absolut sigur.

Costurile și rezultatele dvs. pot varia.

© Intel Corporation. Intel, sigla Intel și alte mărci Intel sunt mărci comerciale ale Intel Corporation sau ale subsidiarelor sale. Alte nume și mărci pot fi revendicate ca fiind proprietatea altora.

Acest document nu acordă nicio licență (expressă sau implicită, prin excludere sau în alt mod) pentru niciun drept de proprietate intelectuală.

Produsele descrise pot conține defecte de proiectare sau erori cunoscute sub numele de errate care pot determina abaterea produsului de la specificațiile publicate. Errata caracterizate curente sunt disponibile la cerere.

Intel declină toate garanțiile exprese și implicite, inclusiv, fără limitare, garanțiile implicite de vandabilitate, potrivire pentru un anumit scop și neîncălcare, precum și orice garanție care decurge din cursul performanței, cursul tranzacțiilor sau utilizarea în comerț.

OpenCL și sigla OpenCL sunt mărci comerciale ale Apple Inc. utilizate cu permisiunea lui Khronos.

Documente/Resurse

Intel Distribution pentru GDB pe Linux OS Host [pdfGhid de utilizare
Distribuție pentru GDB pe Linux OS Gazdă, GDB pe Linux OS Gazdă, Linux OS Gazdă, OS Gazdă, Gazdă

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *