Aloita Intel® Distribution for GDB* käyttö Linux* OS Hostissa

Aloita Intel® Distribution for GDB* -sovelluksen käyttö sovellusten virheenkorjaukseen. Noudata alla olevia ohjeita määrittääksesi virheenkorjaimen suorittamaan virheenkorjaus sovelluksia, joiden ytimet on ladattu CPU- ja GPU-laitteisiin.

Intel® Distribution for GDB* on saatavilla osana Intel® oneAPI Base Toolkit -työkalupakettia. Lisätietoja oneAPI-työkalupakeista on osoitteessa tuotesivu.

Vieraile osoitteessa Julkaisutiedot sivulla on tietoa tärkeimmistä ominaisuuksista, uusista ominaisuuksista ja tunnetuista ongelmista.

Voit käyttää SYCL* sample koodia, Array Transform, jotta pääset alkuun Intel® Distribution for GDB:lle*. sample ei tuota virheitä ja yksinkertaisesti havainnollistaa virheenkorjausominaisuuksia. Koodi käsittelee syöttötaulukon elementtejä sen mukaan, ovatko ne parilliset vai parittomat ja tuottaa tulostaulukon. Voit käyttää sample suorittaa virheenkorjauksen sekä CPU:ssa että GPU:ssa määrittämällä valitun laitteen komentoriviargumentilla. Huomaa kuitenkin, että GPU-virheenkorjaus voi vaatia kaksi järjestelmää ja lisämäärityksiä etävirheenkorjausta varten.

Edellytykset

Jos aiot tehdä virheenkorjauksen GPU:ssa, asenna uusimmat GPU-ohjaimet ja määritä järjestelmäsi käyttämään niitä. Viittaavat Intel® oneAPI Toolkits -asennusopas Linux*-käyttöjärjestelmälle. Seuraa ohjeita Asenna Intel GPU -ajurit asentaaksesi järjestelmääsi vastaavat GPU-ohjaimet.

Lisäksi voit asentaa Visual Studio Coden* laajennuksen Intel® Distribution for GDB:n* GPU:n virheenkorjausta varten. Viittaavat Visual Studio Coden käyttäminen Intel® oneAPI Toolkits Guide -oppaan kanssa.

Asenna GPU Debugger

GPU-virheenkorjaajan määrittäminen edellyttää pääkäyttäjän oikeuksia.


HUOM Ytimen virheenkorjauksen aikana GPU pysähtyy eikä videolähtö ole käytettävissä kohdekoneellasi. Tästä johtuen et voi korjata GPU:ta kohdejärjestelmästä, jos järjestelmän GPU-korttia käytetään myös graafiseen tulostukseen. Tässä tapauksessa yhdistä koneeseen ssh:n kautta.


1. Jos aiot suorittaa virheenkorjauksen GPU:ssa, tarvitaan Linux-ydin, joka tukee GPU-virheenkorjausta.

a. Noudata ohjeita osoitteessa Intel®-ohjelmisto yleisiin GPU-ominaisuuksiin ladata ja asentaa tarvittavat ohjaimet.
b. Ota i915-virheenkorjaustuki käyttöön ytimessä:

a. Avaa terminaali.
b. Avaa grub file tiedostossa /etc/default.
c. Ruuassa file, etsi rivi GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Kirjoita seuraava teksti lainausmerkkien ("") väliin:

i915.debug_eu=1


HUOM Oletusarvon mukaan grafiikkasuoritinohjain ei salli työkuormien suorittamista grafiikkasuorittimessa tiettyä aikaa pidempään. Ajuri tappaa tällaiset pitkäkestoiset työmäärät nollaamalla GPU:n jumiutumisen estämiseksi. Ohjaimen hangcheck-mekanismi on poistettu käytöstä, jos sovellus on käynnissä debuggerin alla. Jos aiot suorittaa pitkiä laskentatöitä myös ilman debuggeria, harkitse hakemista GPU: Poista Hangcheck käytöstä lisäämällä

i915.enable_hangcheck=0

samaan GRUB_CMDLINE_LINUX_DEFAULT rivi.

c. Päivitä GRUB, jotta nämä muutokset tulevat voimaan:

sudo update-grub

d. Käynnistä uudelleen.

2. Määritä CLI-ympäristösi hankkimalla setvars-skripti, joka sijaitsee työkalupakkiasennuksen juuressa.

Linux (sudo):

lähde /opt/intel/oneapi/setvars.sh

Linux (käyttäjä):

lähde ~/intel/oneapi/setvars.sh

3. Asennusympäristö
Käytä seuraavia ympäristömuuttujia ottaaksesi viankorjaustuki käyttöön Intel® oneAPI Level Zero:lle:

vienti ZET_ENABLE_PROGRAM_DEBUGGING=1
vienti IGC_EnableGTLocationDebugging=1

4. Järjestelmän tarkistus
Kun kaikki on valmis, suorita seuraava komento varmistaaksesi, että järjestelmän kokoonpano on luotettava:

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

Hyvin konfiguroidun järjestelmän mahdollinen tulos on seuraava:


Tarkastustulokset:
==================================================== ================================
Tarkista nimi: debugger_sys_check
Kuvaus: Tämä tarkistus varmistaa, että ympäristö on valmis käyttämään gdb:tä (Intel(R) Distribution for GDB*).
Tuloksen tila: PASS
Debuggeri löytyi.
libiptti löytynyt.
libiga löytyi.
i915 debug on käytössä.
Ympäristömuuttujat ovat oikein. ==================================================== =================================

1 TARKISTUS: 1 HYVÄKSYTTY, 0 Epäonnistui, 0 VAROITUSTA, 0 VIRHETÄ

Konsolin lähtö file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON-lähtö file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Käännä ohjelma virheenkorjaustietojen kanssa

Voit käyttää sample project, Array Transform, jotta pääset nopeasti alkuun sovelluksen virheenkorjausohjelman kanssa.

1. Saadaksesi sample, valitse jokin seuraavista tavoista:

2. Navigoi src:n kohdalleampprojekti:

cd array-transform/src

3. Käännä sovellus ottamalla käyttöön virheenkorjaustiedot (-g-lippu) ja poistamalla optimoinnit käytöstä (-O0-lippu).
Optimoinnin poistaminen käytöstä on suositeltavaa vakaan ja tarkan virheenkorjausympäristön saavuttamiseksi. Tämä auttaa välttämään sekaannuksia, jotka aiheutuvat koodiin tehdyistä muutoksista kääntäjän optimoinnin jälkeen.


HUOM Voit silti kääntää ohjelman optimoinnin ollessa käytössä (-O2-lippu), mikä voi olla hyödyllistä, jos tavoitteena on GPU-kokoonpanon virheenkorjaus.


Voit koota ohjelman useilla tavoilla. Vaihtoehdot 1 ja 2 käyttävät juuri-in-time (JIT) -kokoelmaa, jota suositellaan s-virheenkorjaukseen.ample. Vaihtoehto 3 käyttää etukäteiskokoelmaa (AOT).

  • Vaihtoehto 1. Voit käyttää CMakea file sovelluksen määrittämiseen ja rakentamiseen. Viittaavat README sample ohjeita.

HUOM CMake file mukana sample ohittaa jo -g -O0 -liput.


  • Vaihtoehto 2. Kääntääksesi array-transform.cpp sampsovellus ilman CMakea file, anna seuraavat komennot:

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

Jos käännös ja linkitys tehdään erikseen, säilytä -g -O0 -liput linkitysvaiheessa. Linkkivaihe on, kun icpx kääntää nämä liput välitettäväksi laitteen kääntäjälle suorituksen aikana. Esimampseuraavat:

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

  • Vaihtoehto 3. Voit käyttää AOT-kääntämistä välttääksesi pidemmät JIT-käännösajat ajon aikana. JIT-kääntäminen voi kestää huomattavasti kauemmin suurilla ytimillä debuggerin alla. Ennenaikaisen käännöstilan käyttäminen:

• Virheenkorjaus GPU:ssa:
Määritä laite, jota käytät ohjelman suorittamiseen. esimample, -laite dg2-g10 Intel® Data Center GPU Flex 140 Graphicsille. Luettelo tuetuista vaihtoehdoista ja lisätietoja AOT-kokoelmasta on kohdassa Intel® oneAPI DPC++ Compiler Developer Guide and Reference.
esimampseuraavat:

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

Ahead-of-Time-käännös vaatii OpenCLTM-offline-kääntäjän (OC Compiler LOC). Katso lisätietoja kohdasta "Asenna OpenCLTM Offline Compiler (OCLOC)". Asennusopas.

• Virheenkorjaus suorittimessa:

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

Aloita virheenkorjausistunto

Aloita virheenkorjausistunto:

1. Käynnistä Intel® Distribution for GDB* seuraavasti:

gdb-oneapi array-transform

Sinun pitäisi nähdä (gdb) -kehote.

2. Varmista, että ydin on purettu oikeaan laitteeseen, suorittamalla seuraavat vaiheet. Kun suoritat run-komennon (gdb) -kehotteesta, välitä CPU, gpu or kiihdytin argumentti:

  • Suorittimen virheenkorjaus:

ajaa prosessoria

Example lähtö:

[SYCL] Käyttää laitetta: [Intel(R) Core(TM) i7-9750H CPU @ 2.60 GHz] [Intel(R) OpenCL:ltä]
  • GPU:n virheenkorjaus:

ajaa gpu:ta

Example lähtö:

[SYCL] Käyttää laitetta: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] [Intel(R) LevelZero]
  • Vianetsintä FPGA-emulaattorissa:

juoksu kiihdytin

Example lähtö:

[SYCL] Laitteen käyttö: [Intel(R) FPGA -emulointilaite] [Intel(R) FPGA Emulation Platform for OpenCL(TM) -ohjelmistosta]

HUOM Prosessori-, gpu- ja kiihdytinparametrit ovat Array Transform -sovellukselle ominaisia.


3. Intel® Distribution for GDB*:n lopettaminen:

lopettaa

Käytettävissäsi on yleiset Intel® Distribution for GDB* -komennot Viitelehti.

Array Transformin virheenkorjaus sample ja oppia lisää Intel® Distribution for GDB*, käy läpi perusvirheenkorjausskenaariot käyttämällä Opetusohjelma.

Lisätietoja
Asiakirja Kuvaus
Oppitunti: Vianetsintä Intel® Distributionilla GDB:lle* Tässä asiakirjassa kuvataan perusskenaariot, joita on noudatettava SYCL*- ja OpenCL-virheenkorjauksessa Intel® Distribution for GDB*:lle.
Intel® Distribution for GDB* -käyttöopas Tässä asiakirjassa kuvataan kaikki yleisimmät tehtävät, jotka voit suorittaa Intel® Distribution for GDB:lle*, ja sisältää tarvittavat tekniset tiedot.
Intel® Distribution for GDB* Julkaisutiedot Muistiinpanot sisältävät tietoja Intel® Distribution for GDB:n* tärkeimmistä ominaisuuksista, uusista ominaisuuksista ja tunnetuista ongelmista.
oneAPI-tuotesivu Tämä sivu sisältää lyhyen esittelyn oneAPI-työkalupakeista ja linkkejä hyödyllisiin resursseihin.
Intel® Distribution for GDB* -viitelehti Tässä yksisivuisessa asiakirjassa kuvataan lyhyesti Intel® Distribution for GDB* -edellytyksiä ja hyödyllisiä komentoja.
Jacobi Sample Tällä pienellä SYCL*-sovelluksella on kaksi versiota: bugittu ja korjattu. Käytä sampvoit harjoitella sovellusten virheenkorjausta Intel® Distribution for GDB:n* avulla.
Ilmoitukset ja vastuuvapauslausekkeet

Intel-tekniikat saattavat edellyttää laitteiden, ohjelmistojen tai palveluiden aktivointia.

Mikään tuote tai komponentti ei voi olla täysin turvallinen.

Kustannuksesi ja tulokset voivat vaihdella.

© Intel Corporation. Intel, Intel-logo ja muut Intel-merkit ovat Intel Corporationin tai sen tytäryhtiöiden tavaramerkkejä. Muita nimiä ja merkkejä voidaan väittää muiden omaisuudeksi.

Tämä asiakirja ei myönnä lisenssiä (suoraan tai epäsuoraan, estoppel tai muutoin) immateriaalioikeuksiin.

Kuvatuissa tuotteissa voi olla suunnitteluvirheitä tai virheitä, jotka tunnetaan nimellä errata, jotka voivat aiheuttaa tuotteen poikkeamisen julkaistuista teknisistä tiedoista. Nykyiset ominaisvirheet ovat saatavilla pyynnöstä.

Intel kiistää kaikki nimenomaiset ja oletetut takuut, mukaan lukien rajoituksetta oletetut takuut kaupallisuudesta, sopivuudesta tiettyyn tarkoitukseen ja loukkaamattomuudesta, samoin kuin kaikki takuut, jotka johtuvat suorituskyvystä, kaupankäynnistä tai käytöstä kaupassa.

OpenCL ja OpenCL-logo ovat Apple Inc:n tavaramerkkejä, joita Khronos käyttää luvalla.

Asiakirjat / Resurssit

intel Distribution for GDB Linux OS Host [pdfKäyttöopas
Jakelu GDB:lle Linux OS Hostissa, GDB Linux OS Hostissa, Linux OS Host, OS Host, Host

Viitteet

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *