Kom aan die gang met Intel® Distribution for GDB* op Linux* OS Host
Begin om die Intel® Distribution for GDB* te gebruik vir die ontfouting van toepassings. Volg die instruksies hieronder om die ontfouter op te stel om toepassings te ontfout met pitte wat na SVE- en GPU-toestelle afgelaai is.
Intel® Distribution for GDB* is beskikbaar as deel van die Intel® oneAPI Base Toolkit. Vir meer inligting oor oneAPI toolkits, besoek die produk bladsy.
Besoek die Vrystellingsaantekeninge bladsy vir inligting oor sleutelvermoëns, nuwe kenmerke en bekende probleme.
Jy kan 'n SYCL* s gebruikample kode, Array Transform, om te begin met die Intel® Distribution for GDB*. Die sample genereer nie foute nie en illustreer bloot ontfouterkenmerke. Die kode verwerk elemente van die invoerskikking afhangende van of hulle ewe of onewe is en produseer 'n uitsetskikking. Jy kan die s gebruikample om op beide die SVE of GPU te ontfout, en spesifiseer die gekose toestel deur 'n opdragreëlargument. Let egter daarop dat GPU-ontfouting twee stelsels en bykomende konfigurasie vir afstandontfouting kan vereis.
Voorvereistes
As jy poog om op GPU te ontfout, installeer die nuutste GPU-drywers en stel jou stelsel op om dit te gebruik. Verwys na die Intel® oneAPI Toolkits Installasiegids vir Linux* OS. Volg die instruksies Installeer Intel GPU-bestuurders om GPU-bestuurders te installeer wat ooreenstem met jou stelsel.
Daarbenewens kan jy 'n uitbreiding vir Visual Studio Code* installeer vir ontfouting van GPU met Intel® Distribution for GDB*. Verwys na die Gebruik Visual Studio Code met Intel® oneAPI Toolkits Guide.
Stel die GPU-ontfouter op
Om die GPU-ontfouter op te stel, moet jy worteltoegang hê.
LET WEL Tydens kernontfouting word die GPU gestop en die video-uitvoer is nie op jou teikenmasjien beskikbaar nie. As gevolg hiervan kan u nie die GPU vanaf die teikenstelsel ontfout as die GPU-kaart van die stelsel ook vir grafiese uitvoer gebruik word nie. In hierdie geval, koppel aan die masjien via ssh.
1. As jy mik om op GPU te ontfout, is 'n Linux-kern nodig wat GPU-ontfouting ondersteun.
a. Volg die instruksies by Intel®-sagteware vir algemene doel GPU-vermoëns om die nodige drywers af te laai en te installeer.
b. Aktiveer i915-ontfoutondersteuning in kern:
a. Maak 'n terminaal oop.
b. Maak die grub oop file in /etc/default.
c. In die grub file, vind die reël GRUB_CMDLINE_LINUX_DEFAULT="".
d. Tik die volgende teks tussen die aanhalingstekens (“”):
i915.debug_eu=1
LET WEL By verstek laat die GPU-bestuurder nie toe dat werkladings langer as 'n sekere tyd op 'n GPU loop nie. Die bestuurder maak sulke langdurige werkladings dood deur die GPU terug te stel om te verhoed dat dit hang. Die hangcheck-meganisme van die bestuurder is gedeaktiveer as die toepassing onder die ontfouter loop. As jy van plan is om lang rekenaarwerkladings te laat loop sonder dat 'n ontfouter aangeheg is, oorweeg dit om aansoek te doen GPU: Deaktiveer Hangcheck deur by te voeg
i915.enable_hangcheck=0
dieselfde GRUB_CMDLINE_LINUX_DEFAULT reël.
c. Dateer GRUB op sodat hierdie veranderinge in werking tree:
sudo update-grub
d. Herlaai.
2. Stel jou CLI-omgewing op deur die setvars-skrip te verkry wat in die wortel van jou toolkit-installasie geleë is.
Linux (sudo):
bron /opt/intel/oneapi/setvars.sh
Linux (gebruiker):
bron ~/intel/oneapi/setvars.sh
3. Opstel omgewing
Gebruik die volgende omgewingsveranderlikes om ontfouterondersteuning vir Intel® oneAPI Level Zero te aktiveer:
voer ZET_ENABLE_PROGRAM_DEBUGGING=1 uit
uitvoer IGC_EnableGTLocationDebugging=1
4. Stelselkontrole
Wanneer alles gereed is, voer asseblief die volgende opdrag uit om te bevestig dat die stelselkonfigurasie betroubaar is:
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force
'n Moontlike uitset van 'n goed gekonfigureerde stelsel is soos volg:
…
Kontroleer resultate:
================================================== ================================
Kontroleer naam: debugger_sys_check
Beskrywing: Hierdie kontrole verifieer of die omgewing gereed is om gdb (Intel(R) Distribution for GDB*) te gebruik.
Uitslagstatus: SLAAG
Ontfouter gevind.
libipt gevind.
libiga gevind.
i915 debug is geaktiveer.
Omgewingsveranderlikes korrek. ================================================== ================================
1 KONTROLE: 1 SLAAG, 0 DRUK, 0 WAARSKUWINGS, 0 FOUTE
Konsole uitset file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON-uitvoer file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …
Stel die program saam met ontfoutingsinligting
Jy kan die s gebruikampdie projek, Array Transform, om vinnig met die toepassingsontfouter te begin.
1. Om die s te kryample, kies enige van die volgende maniere:
- Gebruik die oneAPI CLI Samples Blaaier om Array Transform uit die Aan die slag-kategorie te kies.
- Laai af vanaf GitHub*.
2. Navigeer na die src van die sampdie projek:
cd array-transform/src
3. Stel die toepassing saam deur die ontfoutinligting (-g-vlag) te aktiveer en optimaliserings (-O0-vlag) af te skakel.
Die deaktivering van optimalisering word aanbeveel vir 'n stabiele en akkurate ontfoutomgewing. Dit help om verwarring te vermy wat veroorsaak word deur veranderinge aan die kode na samesteller-optimalisasies.
LET WEL Jy kan steeds die program saamstel met optimalisering geaktiveer (-O2 vlag), wat nuttig kan wees as jy mik op GPU-samestelling ontfouting.
Jy kan die program op verskeie maniere saamstel. Opsies 1 en 2 gebruik net-in-tyd (JIT) samestelling, wat aanbeveel word om die s te ontfoutample. Opsie 3 gebruik vooraf-voor-tyd (AOT) samestelling.
- Opsie 1. Jy kan die CMake gebruik file om die toepassing op te stel en te bou. Verwys na die LEES MY van die sample vir die instruksies.
LET WEL Die CMake file voorsien van die sample gaan reeds verby die -g -O0 vlae.
- Opsie 2. Om die array-transform.cpp s saam te stelample toepassing sonder die CMake file, reik die volgende opdragte uit:
icpx -fsycl -g -O0 skikking-transform.cpp -o skikking-transformeer
As samestelling en koppeling afsonderlik gedoen word, behou die -g -O0-vlae by die skakelstap. Die skakelstap is wanneer icpx hierdie vlae vertaal om tydens looptyd na die toestelsamesteller deurgegee te word. Bvample:
icpx -fsycl -g -O0 -c skikking-transform.cpp
icpx -fsycl -g -O0 skikking-transform.o -o skikking-transform
- Opsie 3. Jy kan AOT-samestelling gebruik om langer JIT-samestellingstye tydens looptyd te vermy. JIT-samestelling kan aansienlik langer neem vir groot pitte onder die ontfouter. Om voor die tyd-samestellingmodus te gebruik:
• Vir ontfouting op 'n GPU:
Spesifiseer die toestel wat jy vir programuitvoering sal gebruik. Byvoorbeeldample, -device dg2-g10 vir Intel® Data Center GPU Flex 140 Graphics. Vir die lys van ondersteunde opsies en meer inligting oor AOT-samestelling, verwys na die Intel® oneAPI DPC++-samesteller-ontwikkelaargids en -verwysing.
Byvoorbeeldample:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform
Voortydige samestelling vereis die OpenCLTM Offline Compiler (OC Compiler LOC). Vir meer inligting, verwys die afdeling "Installeer OpenCLTM Offline Compiler (OCLOC)" van die Installasiegids.
• Vir ontfouting op 'n SVE:
icpx -fsycl -g -O0 -fsycl-teikens=spir64_x86_64 skikking-transform.cpp -o skikking-transform
Begin 'n ontfoutsessie
Begin die ontfoutsessie:
1. Begin Intel® Distribusie vir GDB* soos volg:
gdb-oneapi skikking-transformasie
Jy behoort die (gdb) prompt te sien.
2. Om seker te maak dat die kern na die regte toestel afgelaai is, doen die volgende stappe. Wanneer jy die run-opdrag vanaf die (gdb)-prompt uitvoer, gee die cpu, gpu or versneller argument:
- Vir ontfouting op die SVE:
hardloop cpu
Example uitset:
[SYCL] Gebruik toestel: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] van [Intel(R) OpenCL]- Vir ontfouting op die GPU:
hardloop gpu
Example uitset:
[SYCL] Gebruik toestel: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] van [Intel(R) LevelZero]- Vir ontfouting op die FPGA-emulator:
hardloop versneller
Example uitset:
[SYCL] Gebruik toestel: [Intel(R) FPGA-emulasietoestel] van [Intel(R) FPGA-emulasieplatform vir OpenCL(TM)-sagteware]LET WEL Die cpu-, gpu- en versnellerparameters is spesifiek vir die Array Transform-toepassing.
3. Om die Intel® Distribution for GDB te verlaat*:
ophou
Vir u gerief word algemene Intel®-verspreiding vir GDB*-opdragte in die Verwysingsblad.
Om die Array Transform sample en leer meer oor Intel® Distribution for GDB*, loop deur basiese ontfoutingscenario's deur die Tutoriaal.
Kom meer te wete
Dokument | Beskrywing |
Handleiding: Ontfouting met Intel® Distribusie vir GDB* | Hierdie dokument beskryf die basiese scenario's om te volg tydens die ontfouting van SYCL* en OpenCL met Intel® Distribution for GDB*. |
Intel® Distribution for GDB* Gebruikersgids | Hierdie dokument beskryf alle algemene take wat jy met Intel® Distribution for GDB* kan voltooi en verskaf die nodige tegniese besonderhede. |
Intel®-verspreiding vir GDB*-vrystellingsnotas | Die notas bevat inligting oor sleutelvermoëns, nuwe kenmerke en bekende kwessies van Intel® Distribution for GDB*. |
oneAPI-produkbladsy | Hierdie bladsy bevat kort inleiding oor oneAPI-nutsgoedstelle en skakels na nuttige hulpbronne. |
Intel®-verspreiding vir GDB*-verwysingsblad | Hierdie dokument van een bladsy beskryf kortliks Intel® Distribusie vir GDB* voorvereistes en nuttige opdragte. |
Jacobi Sample | Hierdie klein SYCL*-toepassing het twee weergawes: foutief en reggestel. Gebruik die sample om toepassingontfouting uit te oefen met Intel® Distribution for GDB*. |
Kennisgewings en vrywarings
Intel-tegnologieë kan moontlik geaktiveerde hardeware, sagteware of diens benodig.
Geen produk of komponent kan absoluut veilig wees nie.
Jou koste en resultate kan verskil.
© Intel Corporation. Intel, die Intel-logo en ander Intel-merke is handelsmerke van Intel Corporation of sy filiale. Ander name en handelsmerke kan as die eiendom van ander geëis word.
Geen lisensie (uitdruklik of geïmpliseer, deur estoppel of andersins) tot enige intellektuele eiendomsregte word deur hierdie dokument toegestaan nie.
Die produkte wat beskryf word, kan ontwerpfoute of foute bevat wat bekend staan as errata wat kan veroorsaak dat die produk van gepubliseerde spesifikasies afwyk. Huidige gekarakteriseerde errata is op aanvraag beskikbaar.
Intel verwerp alle uitdruklike en geïmpliseerde waarborge, insluitend sonder beperking, die geïmpliseerde waarborge van verhandelbaarheid, geskiktheid vir 'n spesifieke doel, en nie-skending, sowel as enige waarborg wat voortspruit uit die verloop van prestasie, verloop van transaksies of gebruik in handel.
OpenCL en die OpenCL-logo is handelsmerke van Apple Inc. wat met toestemming deur Khronos gebruik word.
Dokumente / Hulpbronne
![]() |
intel verspreiding vir GDB op Linux OS Host [pdf] Gebruikersgids Verspreiding vir GDB op Linux OS Host, GDB op Linux OS Host, Linux OS Host, OS Host, Host |