Započnite s Intel® distribucijom za GDB* na Linux* OS hostu
Počnite koristiti Intel® Distribution for GDB* za aplikacije za otklanjanje pogrešaka. Slijedite upute u nastavku za postavljanje programa za ispravljanje pogrešaka za ispravljanje pogrešaka u aplikacijama s kernelima koji su prebačeni na CPU i GPU uređaje.
Intel® Distribution for GDB* dostupan je kao dio Intel® oneAPI Base Toolkit. Za više informacija o oneAPI setovima alata, posjetite stranica proizvoda.
Posjetite Bilješke o izdanju stranicu za informacije o ključnim mogućnostima, novim značajkama i poznatim problemima.
Možete koristiti SYCL* sampkod, Array Transform, da biste započeli s Intel® distribucijom za GDB*. Sample ne generira pogreške i jednostavno ilustrira značajke debuggera. Kod obrađuje elemente ulaznog niza ovisno o tome jesu li parni ili neparni i proizvodi izlazni niz. Možete koristiti sample za otklanjanje pogrešaka na CPU-u ili GPU-u, navodeći odabrani uređaj kroz argument naredbenog retka. Imajte na umu da GPU debugging može zahtijevati dva sustava i dodatnu konfiguraciju za udaljeno debugging.
Preduvjeti
Ako namjeravate ispravljati pogreške na GPU-u, instalirajte najnovije upravljačke programe za GPU i konfigurirajte svoj sustav da ih koristi. Odnosi se na Intel® oneAPI Toolkits Vodič za instalaciju za Linux* OS. Slijedi upute Instalirajte upravljačke programe za Intel GPU za instaliranje GPU drajvera koji odgovaraju vašem sustavu.
Osim toga, možete instalirati proširenje za Visual Studio Code* za otklanjanje pogrešaka GPU-a s Intel® Distribution for GDB*. Odnosi se na Korištenje koda Visual Studio s vodičem za alate Intel® oneAPI.
Postavite GPU Debugger
Da biste postavili GPU debugger, morate imati root pristup.
BILJEŠKA Tijekom otklanjanja pogrešaka jezgre, GPU je zaustavljen i video izlaz nije dostupan na vašem ciljnom računalu. Zbog toga ne možete otkloniti pogreške GPU-a iz ciljnog sustava ako se GPU kartica sustava također koristi za grafički izlaz. U tom slučaju, spojite se na stroj putem ssh-a.
1. Ako namjeravate ispravljati pogreške na GPU-u, potrebna vam je Linux kernel koja podržava GPU ispravljanje pogrešaka.
a. Slijedite upute na Intel® softver za GPU mogućnosti opće namjene za preuzimanje i instaliranje potrebnih upravljačkih programa.
b. Omogući podršku za i915 debug u kernelu:
a. Otvorite terminal.
b. Otvorite grubo file u /etc/default.
c. U jelu file, pronađite redak GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Unesite sljedeći tekst između navodnika (“”):
i915.debug_eu=1
BILJEŠKA Prema zadanim postavkama, GPU upravljački program ne dopušta izvođenje radnih opterećenja na GPU dulje od određenog vremena. Upravljački program ubija takva dugotrajna radna opterećenja resetiranjem GPU-a kako bi spriječio zastoje. Mehanizam hangcheck upravljačkog programa je onemogućen ako se aplikacija izvodi pod programom za ispravljanje pogrešaka. Ako planirate pokrenuti duga računalna opterećenja i bez priključenog programa za ispravljanje pogrešaka, razmislite o prijavi GPU: Onemogući 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. Ponovno pokretanje.
2. Postavite svoje CLI okruženje pronalaženjem setvars skripte koja se nalazi u korijenu vaše instalacije alata.
Linux (sudo):
izvor /opt/intel/oneapi/setvars.sh
Linux (korisnik):
izvor ~/intel/oneapi/setvars.sh
3. Postavljanje okruženja
Upotrijebite sljedeće varijable okruženja kako biste omogućili podršku programa za ispravljanje pogrešaka za Intel® oneAPI Level Zero:
izvoz ZET_ENABLE_PROGRAM_DEBUGGING=1
izvoz IGC_EnableGTLocationDebugging=1
4. Provjera sustava
Kada je sve spremno, pokrenite sljedeću naredbu da potvrdite da je konfiguracija sustava pouzdana:
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force
Mogući rezultat dobro konfiguriranog sustava je sljedeći:
…
Rezultati provjere:
==================================================== ================================
Naziv provjere: debugger_sys_check
Opis: Ova provjera provjerava je li okruženje spremno za korištenje gdb-a (Intel(R) distribucija za GDB*).
Status rezultata: PROLAZNO
Program za otklanjanje pogrešaka pronađen.
libipt pronađen.
libiga pronađena.
i915 debug je omogućen.
Varijable okoline točne. ==================================================== =================================
1 PROVJERA: 1 PROŠAO, 0 NIJE, 0 UPOZORENJA, 0 POGREŠAKA
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 …
Kompilirajte program s informacijama o otklanjanju pogrešaka
Možete koristiti sample project, Array Transform, kako biste brzo započeli s programom za ispravljanje pogrešaka aplikacije.
1. Da biste dobili sample, odaberite bilo koji od sljedećih načina:
- Koristite oneAPI CLI Samples Browser za odabir Array Transform iz kategorije Getting Started.
- Preuzmi s GitHub*.
2. Idite na src sampprojekt:
cd transformacija polja/src
3. Kompajlirajte aplikaciju tako što ćete omogućiti informacije o otklanjanju pogrešaka (oznaka -g) i isključiti optimizacije (oznaka -O0).
Onemogućavanje optimizacije preporučuje se za stabilno i točno okruženje za otklanjanje pogrešaka. To pomaže u izbjegavanju zabune uzrokovane promjenama koda nakon optimizacije prevoditelja.
BILJEŠKA I dalje možete kompajlirati program s omogućenom optimizacijom (oznaka -O2), što može biti od pomoći ako ciljate na otklanjanje pogrešaka sklopa GPU-a.
Program možete prevesti na nekoliko načina. Opcije 1 i 2 koriste kompilaciju točno na vrijeme (JIT), koja se preporučuje za otklanjanje pogrešaka sample. Opcija 3 koristi kompilaciju unaprijed (AOT).
- Opcija 1. Možete koristiti CMake file za konfiguraciju i izgradnju aplikacije. Odnosi se na PROČITAJ ME od sample za upute.
BILJEŠKA CMake file opremljen sample već prolazi zastavice -g -O0.
- Opcija 2. Za prevođenje array-transform.cpp sample aplikacija bez CMake fileizdajte sljedeće naredbe:
icpx -fsycl -g -O0 transformacija niza.cpp -o transformacija niza
Ako se kompilacija i povezivanje rade odvojeno, zadržite oznake -g -O0 u koraku povezivanja. Korak povezivanja je kada icpx prevodi te zastavice koje se prosljeđuju kompajleru uređaja tijekom izvođenja. nprampono:
icpx -fsycl -g -O0 -c transformacija polja.cpp
icpx -fsycl -g -O0 transformacija niza.o -o transformacija niza
- Opcija 3. Možete koristiti AOT kompilaciju da izbjegnete duža vremena JIT kompilacije tijekom izvođenja. JIT kompilacija može trajati znatno dulje za velike kernele pod debuggerom. Za korištenje načina kompilacije unaprijed:
• Za otklanjanje pogrešaka na GPU-u:
Navedite uređaj koji ćete koristiti za izvršavanje programa. Na primjerample, -device dg2-g10 za Intel® Data Center GPU Flex 140 Graphics. Za popis podržanih opcija i više informacija o AOT kompilaciji, pogledajte Intel® oneAPI DPC++ Vodič za razvojne programere i referenca.
Na primjerampono:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform
Prijevremena kompilacija zahtijeva OpenCLTM Offline Compiler (OC Compiler LOC). Za više informacija pogledajte odjeljak “Instalacija OpenCLTM izvanmrežnog prevoditelja (OCLOC)” u Vodič za instalaciju.
• Za otklanjanje pogrešaka na CPU-u:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform
Započnite sesiju otklanjanja pogrešaka
Pokrenite sesiju otklanjanja pogrešaka:
1. Pokrenite Intel® Distribution za GDB* na sljedeći način:
gdb-oneapi transformacija polja
Trebali biste vidjeti (gdb) prompt.
2. Kako biste bili sigurni da je kernel prebačen na pravi uređaj, učinite sljedeće korake. Kada izvršite naredbu pokretanja iz (gdb) odzivnika, proslijedite CPU, gpu or akcelerator argument:
- Za otklanjanje pogrešaka na CPU-u:
pokrenuti procesor
Example izlaz:
[SYCL] Korištenje uređaja: [Intel(R) Core(TM) i7-9750H CPU @ 2.60 GHz] iz [Intel(R) OpenCL]- Za otklanjanje pogrešaka na GPU-u:
pokreni gpu
Example izlaz:
[SYCL] Korištenje uređaja: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] od [Intel(R) LevelZero]- Za otklanjanje pogrešaka na FPGA emulatoru:
trčanje akcelerator
Example izlaz:
[SYCL] Korištenje uređaja: [Intel(R) FPGA Emulation Device] iz [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]BILJEŠKA Parametri CPU, GPU i akcelerator specifični su za aplikaciju Array Transform.
3. Za napuštanje Intel® distribucije za GDB*:
prestati
Radi vaše udobnosti, uobičajene naredbe Intel® Distribution for GDB* nalaze se u Referentni list.
Za otklanjanje pogrešaka transformacije polja sample i saznajte više o Intel® Distribution for GDB*, prođite kroz osnovne scenarije otklanjanja pogrešaka pomoću Tutorial.
Saznajte više
Dokument | Opis |
Vodič: Otklanjanje pogrešaka s Intel® distribucijom za GDB* | Ovaj dokument opisuje osnovne scenarije koje treba slijediti tijekom otklanjanja pogrešaka SYCL* i OpenCL s Intel® Distribution for GDB*. |
Intel® Distribution for GDB* Korisnički priručnik | Ovaj dokument opisuje sve uobičajene zadatke koje možete izvršiti s Intel® Distribution for GDB* i pruža potrebne tehničke detalje. |
Intel® Distribution for GDB* Bilješke o izdanju | Bilješke sadrže informacije o ključnim mogućnostima, novim značajkama i poznatim problemima Intel® Distribution for GDB*. |
stranica proizvoda oneAPI | Ova stranica sadrži kratki uvod o oneAPI alatima i poveznice na korisne resurse. |
Intel® Distribucija za GDB* Referentni list | Ovaj dokument od jedne stranice ukratko opisuje Intel® Distribution for GDB* preduvjete i korisne naredbe. |
Jacobi Sample | Ova mala SYCL* aplikacija ima dvije verzije: bugovanu i popravljenu. Koristite sample za vježbanje otklanjanja pogrešaka u aplikaciji s Intel® Distribution for GDB*. |
Obavijesti i odricanje od odgovornosti
Intelove tehnologije mogu zahtijevati omogućen hardver, softver ili uslugu aktiviranja.
Nijedan proizvod ili komponenta ne može biti apsolutno siguran.
Vaši troškovi i rezultati mogu varirati.
© Intel Corporation. Intel, Intelov logotip i druge Intelove oznake zaštitni su znakovi Intel Corporation ili njegovih podružnica. Ostala imena i marke mogu se smatrati vlasništvom drugih.
Ovaj dokument ne daje nikakvu licencu (izričitu ili prešutnu, estoppelom ili na neki drugi način) za bilo koja prava intelektualnog vlasništva.
Opisani proizvodi mogu sadržavati nedostatke u dizajnu ili pogreške poznate kao errata koje mogu uzrokovati odstupanje proizvoda od objavljenih specifikacija. Trenutačne karakterizirane pogreške dostupne su na zahtjev.
Intel se odriče svih izričitih i implicitnih jamstava, uključujući, bez ograničenja, implicitna jamstva o utrživosti, prikladnosti za određenu svrhu i nekršenju, kao i bilo koje jamstvo koje proizlazi iz izvedbe, tijeka poslovanja ili uporabe u trgovini.
OpenCL i logo OpenCL zaštitni su znakovi tvrtke Apple Inc. koje uz dopuštenje koristi Khronos.
Dokumenti / Resursi
![]() |
intel distribucija za GDB na Linux OS hostu [pdf] Korisnički priručnik Distribucija za GDB na Linux OS Host, GDB na Linux OS Host, Linux OS Host, OS Host, Host |