Započnite sa Intel® distribucijom za GDB* na Linux* OS Host-u

Počnite koristiti Intel® Distribution za GDB* za otklanjanje grešaka u aplikacijama. Slijedite upute u nastavku kako biste podesili program za otklanjanje grešaka za otklanjanje grešaka u aplikacijama sa kernelima koji su prebačeni na CPU i GPU uređaje.

Intel® distribucija za GDB* je dostupna kao deo Intel® oneAPI Base Toolkit-a. Za više informacija o oneAPI alatima, posjetite stranica proizvoda.

Posjetite Bilješke o izdanju stranica za informacije o ključnim mogućnostima, novim funkcijama i poznatim problemima.

Možete koristiti SYCL* sample kod, Array Transform, da biste započeli sa Intel® distribucijom za GDB*. The sample ne generiše greške i jednostavno ilustruje karakteristike debagera. Kod obrađuje elemente ulaznog niza ovisno o tome da li su parni ili neparni i proizvodi izlazni niz. Možete koristiti sample za otklanjanje grešaka i na CPU-u i na GPU-u, navodeći odabrani uređaj kroz argument komandne linije. Imajte na umu da otklanjanje grešaka na GPU-u može zahtijevati dva sistema i dodatnu konfiguraciju za udaljeno otklanjanje grešaka.

Preduvjeti

Ako želite da otklanjate greške na GPU-u, instalirajte najnovije upravljačke programe za GPU i konfigurišite svoj sistem da ih koristi. Pogledajte na Vodič za instalaciju Intel® oneAPI kompleta alata za Linux* OS. Slijedite upute Instalirajte Intel GPU drajvere da instalirate upravljačke programe za GPU koji odgovaraju vašem sistemu.

Dodatno, možete instalirati proširenje za Visual Studio Code* za otklanjanje grešaka na GPU-u sa Intel® Distribution za GDB*. Pogledajte na Korišćenje Visual Studio Code-a sa vodičem za Intel® oneAPI alatke.

Postavite GPU Debugger

Da biste postavili GPU debugger, morate imati root pristup.


NAPOMENA Tokom otklanjanja grešaka u kernelu, GPU je zaustavljen i video izlaz je nedostupan na vašoj ciljnoj mašini. Zbog toga ne možete otkloniti greške u GPU-u iz ciljnog sistema ako se GPU kartica sistema također koristi za grafički izlaz. U tom slučaju, povežite se na mašinu preko ssh-a.


1. Ako želite da otklanjate greške na GPU-u, potreban vam je Linux kernel koji podržava otklanjanje grešaka na GPU-u.

a. Slijedite upute na Intel® softver za GPU mogućnosti opšte namene da preuzmete i instalirate potrebne drajvere.
b. Omogućite podršku za i915 debug u kernelu:

a. Otvorite terminal.
b. Otvorite jelo file u /etc/default.
c. U grubi file, pronađite liniju GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Unesite sljedeći tekst između navodnika (“”):

i915.debug_eu=1


NAPOMENA Podrazumevano, upravljački program za GPU ne dozvoljava radnim opterećenjima da se izvode na GPU-u duže od određenog vremena. Drajver ubija takva dugotrajna radna opterećenja resetovanjem GPU-a kako bi spriječio zastoje. Mehanizam provjere upravljačkog programa je onemogućen ako se aplikacija izvodi pod programom za otklanjanje grešaka. Ako planirate da pokrećete duga računarska radna opterećenja i bez priključenog programa za otklanjanje grešaka, razmislite o primeni GPU: Onemogućite Hangcheck dodavanjem

i915.enable_hangcheck=0

na isti GRUB_CMDLINE_LINUX_DEFAULT linija.

c. Ažurirajte GRUB kako bi ove promjene stupile na snagu:

sudo update-grub

d. Ponovo pokreni.

2. Podesite svoje CLI okruženje tako što ćete dobiti setvars skriptu koja se nalazi u korenu instalacije vašeg kompleta alata.

Linux (sudo):

izvor /opt/intel/oneapi/setvars.sh

Linux (korisnik):

izvor ~/intel/oneapi/setvars.sh

3. Podešavanje okruženja
Koristite sljedeće varijable okruženja da omogućite podršku za otklanjanje grešaka za Intel® oneAPI Level Zero:

izvoz ZET_ENABLE_PROGRAM_DEBUGGING=1
izvoz IGC_EnableGTLocationDebugging=1

4. Provjera sistema
Kada je sve spremno, pokrenite sljedeću naredbu da potvrdite da je konfiguracija sistema pouzdana:

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

Mogući izlaz dobro konfigurisanog sistema je sledeći:


Provjerava rezultate:
=================================================== ================================
Naziv provjere: debugger_sys_check
Opis: Ova provjera potvrđuje da li je okruženje spremno za korištenje gdb (Intel(R) distribucija za GDB*).
Status rezultata: PASS
Pronađen program za otklanjanje grešaka.
libipt pronađen.
libiga pronađena.
i915 debug je omogućen.
Varijable okoline ispravne. =================================================== =================================

1 PROVJERA: 1 PROLAZ, 0 NEUSPEH, 0 UPOZORENJA, 0 GREŠKA

Izlaz konzole file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON izlaz file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Kompajlirajte program sa informacijama o otklanjanju grešaka

Možete koristiti sampprojekt, Array Transform, da biste brzo započeli s programom za otklanjanje grešaka.

1. Da biste dobili sampda, odaberite bilo koji od sljedećih načina:

2. Idite do src-a sample projekat:

cd array-transform/src

3. Kompilirajte aplikaciju tako što ćete omogućiti informacije o otklanjanju grešaka (-g zastavica) i isključiti optimizacije (-O0 zastavica).
Onemogućavanje optimizacije preporučuje se za stabilno i precizno okruženje za otklanjanje grešaka. Ovo pomaže da se izbjegne zabuna uzrokovana promjenama koda nakon optimizacije kompajlera.


NAPOMENA Još uvijek možete kompajlirati program s omogućenom optimizacijom (-O2 zastavica), što može biti od pomoći ako ciljate na otklanjanje grešaka u sklopu GPU-a.


Program možete kompajlirati na nekoliko načina. Opcije 1 i 2 koriste kompilaciju upravo na vrijeme (JIT), koja se preporučuje za otklanjanje grešaka u sample. Opcija 3 koristi kompilaciju unaprijed (AOT).

  • Opcija 1. Možete koristiti CMake file da konfigurišete i izgradite aplikaciju. Pogledajte na PROČITAJTE ME od sample za uputstva.

NAPOMENA CMake file dostavlja sample već prolazi -g -O0 zastavice.


  • Opcija 2. Za kompajliranje array-transform.cpp sampaplikacija bez CMake file, izdajte sljedeće naredbe:

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

Ako se kompilacija i povezivanje rade odvojeno, zadržite -g -O0 zastavice u koraku povezivanja. Korak povezivanja je kada icpx prevodi ove zastavice da se proslijede kompajleru uređaja u vrijeme izvođenja. Prample:

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

  • Opcija 3. Možete koristiti AOT kompilaciju da biste izbjegli duže vrijeme JIT kompilacije u vrijeme izvođenja. JIT kompilacija može potrajati znatno duže za velike kernele pod debugerom. Za korištenje načina kompilacije prije vremena:

• Za otklanjanje grešaka na GPU:
Odredite uređaj koji ćete koristiti za izvršavanje programa. Za nprample, -device dg2-g10 za Intel® Data Center GPU Flex 140 Graphics. Za listu podržanih opcija i više informacija o AOT kompilaciji, pogledajte Vodič i referenca za programere kompajlera za Intel® oneAPI DPC++.
Za nprample:

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

Za kompilaciju prije vremena potreban je OpenCLTM Offline kompajler (OC Compiler LOC). Za više informacija, pogledajte odjeljak “Instaliranje OpenCLTM Offline kompajlera (OCLOC)” u Vodič za instalaciju.

• Za otklanjanje grešaka na CPU-u:

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

Započnite sesiju otklanjanja grešaka

Pokrenite sesiju otklanjanja grešaka:

1. Pokrenite Intel® Distribution za GDB* na sljedeći način:

gdb-oneapi array-transform

Trebali biste vidjeti (gdb) prompt.

2. Da biste bili sigurni da je kernel prebačen na pravi uređaj, uradite sljedeće korake. Kada izvršite naredbu run iz (gdb) prompt-a, proslijedite cpu, gpu or akcelerator argument:

  • Za otklanjanje grešaka na CPU-u:

pokrenite cpu

Example output:

[SYCL] Korištenje uređaja: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] iz [Intel(R) OpenCL]
  • Za otklanjanje grešaka na GPU-u:

pokrenite gpu

Example output:

[SYCL] Korištenje uređaja: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] od [Intel(R) LevelZero]
  • Za otklanjanje grešaka na FPGA-emulatoru:

pokrenuti akcelerator

Example output:

[SYCL] Korištenje uređaja: [Intel(R) FPGA Emulation Device] iz [Intel(R) FPGA Emulation Platform for OpenCL(TM) softver]

NAPOMENA Parametri CPU, GPU i akcelerator su specifični za aplikaciju Array Transform.


3. Da biste napustili Intel® Distribution za GDB*:

quit

Radi vaše udobnosti, zajedničke komande Intel® Distribution za GDB* nalaze se u Referentni list.

Za otklanjanje grešaka u transformaciji niza sampi saznajte više o Intel® distribuciji za GDB*, prođite kroz osnovne scenarije otklanjanja grešaka koristeći Tutorial.

Saznajte više
Dokument Opis
Vodič: Otklanjanje grešaka sa Intel® distribucijom za GDB* Ovaj dokument opisuje osnovne scenarije koje treba pratiti prilikom otklanjanja grešaka u SYCL* i OpenCL-u pomoću Intel® Distribution for GDB*.
Intel® Distribution for GDB* Uputstvo za upotrebu Ovaj dokument opisuje sve uobičajene zadatke koje možete obaviti sa Intel® Distribution for GDB* i pruža potrebne tehničke detalje.
Napomene o izdanju Intel® Distribution for GDB* Bilješke sadrže informacije o ključnim mogućnostima, novim funkcijama i poznatim problemima Intel® Distribution for GDB*.
Stranica proizvoda oneAPI Ova stranica sadrži kratak uvod u oneAPI alate i veze do korisnih resursa.
Referentni list Intel® Distribution for GDB* Ovaj dokument na jednoj stranici ukratko opisuje preduslove i korisne komande Intel® distribucije za GDB*.
Jacobi Sample Ova mala SYCL* aplikacija ima dvije verzije: s greškama i ispravljene. Koristite sampda vježbamo otklanjanje grešaka u aplikaciji pomoću Intel® Distribution for GDB*.
Obavještenja i odricanja od odgovornosti

Intelove tehnologije mogu zahtevati aktiviranje hardvera, softvera ili usluga.

Nijedan proizvod ili komponenta ne mogu biti apsolutno sigurni.

Vaši troškovi i rezultati mogu varirati.

© Intel Corporation. Intel, Intel logo i druge Intel oznake su zaštitni znaci Intel Corporation ili njenih podružnica. Druga imena i robne marke mogu se smatrati vlasništvom drugih.

Ovim dokumentom ne daje se nikakva licenca (izričita ili implicirana, estoppelom ili na neki drugi način) za bilo koja prava intelektualne svojine.

Opisani proizvodi mogu sadržavati nedostatke u dizajnu ili greške poznate kao greške koje mogu uzrokovati da proizvod odstupi od objavljenih specifikacija. Trenutne karakterizirane greške dostupne su na zahtjev.

Intel se odriče svih izričitih i implicitnih garancija, uključujući, bez ograničenja, implicitne garancije za prodaju, prikladnost za određenu svrhu i nekršenje, kao i svaku garanciju koja proizilazi iz toka performansi, načina poslovanja ili upotrebe u trgovini.

OpenCL i OpenCL logo su zaštitni znakovi kompanije Apple Inc. koji se koriste uz dozvolu Khronosa.

Dokumenti / Resursi

intel distribucija za GDB na Linux OS Host [pdf] Korisnički priručnik
Distribucija za GDB na Linux OS Host, GDB na Linux OS Host, Linux OS Host, OS Host, Host

Reference

Ostavite komentar

Vaša email adresa neće biti objavljena. Obavezna polja su označena *