Začnite s Intel® Distribution for GDB* na Linux* OS Host

Začnite používať Intel® Distribution for GDB* na ladenie aplikácií. Postupujte podľa pokynov nižšie a nastavte ladiaci program na ladenie aplikácií s jadrami stiahnutými do zariadení CPU a GPU.

Intel® Distribution for GDB* je k dispozícii ako súčasť Intel® oneAPI Base Toolkit. Ďalšie informácie o súpravách nástrojov oneAPI nájdete na stránke produktovú stránku.

Navštívte Poznámky k vydaniu na stránke s informáciami o kľúčových schopnostiach, nových funkciách a známych problémoch.

Môžete použiť SYCL* sample kódu, Array Transform, aby ste mohli začať s Intel® Distribution for GDB*. Sample negeneruje chyby a jednoducho ilustruje funkcie debuggera. Kód spracováva prvky vstupného poľa v závislosti od toho, či sú párne alebo nepárne, a vytvára výstupné pole. Môžete použiť sample na ladenie na CPU aj GPU, špecifikovaním zvoleného zariadenia pomocou argumentu príkazového riadka. Upozorňujeme však, že ladenie GPU môže vyžadovať dva systémy a dodatočnú konfiguráciu pre vzdialené ladenie.

Predpoklady

Ak chcete ladiť GPU, nainštalujte najnovšie ovládače GPU a nakonfigurujte svoj systém tak, aby ich používal. Pozrite si Inštalačná príručka súprav Intel® oneAPI Toolkit pre operačný systém Linux*. Nasleduj inštrukcie Nainštalujte ovládače GPU Intel nainštalovať ovládače GPU zodpovedajúce vášmu systému.

Okrem toho si môžete nainštalovať rozšírenie pre Visual Studio Code* na ladenie GPU pomocou Intel® Distribution for GDB*. Pozrite si Používanie Visual Studio Code s Intel® oneAPI Toolkits Guide.

Nastavte GPU Debugger

Ak chcete nastaviť ladiaci program GPU, musíte mať prístup root.


POZNÁMKA Počas ladenia jadra sa GPU zastaví a výstup videa nie je na vašom cieľovom počítači k dispozícii. Z tohto dôvodu nemôžete odladiť GPU z cieľového systému, ak sa GPU karta systému používa aj na grafický výstup. V tomto prípade sa pripojte k stroju cez ssh.


1. Ak sa snažíte ladiť na GPU, je potrebné jadro Linuxu, ktoré podporuje ladenie GPU.

a. Postupujte podľa pokynov na Softvér Intel® pre všeobecné funkcie GPU stiahnuť a nainštalovať potrebné ovládače.
b. Povoliť podporu ladenia i915 v jadre:

a. Otvorte terminál.
b. Otvorte grub file v /etc/default.
c. V húšti file, nájdite riadok GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Vložte nasledujúci text medzi úvodzovky („“):

i915.debug_eu=1


POZNÁMKA V predvolenom nastavení ovládač GPU neumožňuje spúšťanie úloh na GPU dlhšie ako určitý čas. Ovládač zabíja takéto dlhotrvajúce pracovné zaťaženie resetovaním GPU, aby sa zabránilo zamrznutiu. Ak je aplikácia spustená pod ladiacim programom, mechanizmus kontroly zablokovania ovládača je zakázaný. Ak plánujete spúšťať dlhé výpočtové úlohy aj bez pripojeného ladiaceho nástroja, zvážte použitie GPU: Zakázať Hangcheck pridaním

i915.enable_hangcheck=0

na to isté Riadok GRUB_CMDLINE_LINUX_DEFAULT.

c. Aktualizujte GRUB, aby sa tieto zmeny prejavili:

sudo update-grub

d. Reštartujte.

2. Nastavte svoje prostredie CLI pomocou skriptu setvars, ktorý sa nachádza v koreňovom adresári inštalácie vašej sady nástrojov.

Linux (sudo):

zdroj /opt/intel/oneapi/setvars.sh

Linux (používateľ):

zdroj ~/intel/oneapi/setvars.sh

3. Prostredie nastavenia
Na aktiváciu podpory ladiaceho nástroja pre Intel® oneAPI Level Zero použite nasledujúce premenné prostredia:

exportovať ZET_ENABLE_PROGRAM_DEBUGGING=1
exportovať IGC_EnableGTLocationDebugging=1

4. Kontrola systému
Keď je všetko pripravené, spustite nasledujúci príkaz, aby ste potvrdili, že konfigurácia systému je spoľahlivá:

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

Možný výstup dobre nakonfigurovaného systému je nasledujúci:


Výsledky kontroly:
==================================================== ================================
Názov kontroly: debugger_sys_check
Popis: Táto kontrola overuje, či je prostredie pripravené na použitie gdb (Intel(R) Distribution for GDB*).
Stav výsledku: PASS
Našiel sa ladiaci program.
libipt nájdený.
libiga nájdený.
ladenie i915 je povolené.
Premenné prostredia správne. ==================================================== =================================

1 KONTROLA: 1 ÚSPOR, 0 ZLYHANIE, 0 VAROVANÍ, 0 CHYB

Výstup na konzolu file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt výstup JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Kompilujte program s informáciami o ladení

Môžete použiť sample projektu, Array Transform, aby ste mohli rýchlo začať s ladiacim programom aplikácií.

1. Ak chcete získať sample, vyberte si niektorý z nasledujúcich spôsobov:

2. Prejdite na zdroj sampprojekt:

cd array-transform/src

3. Kompilujte aplikáciu povolením informácií o ladení (príznak -g) a vypnutím optimalizácií (príznak -O0).
Zakázanie optimalizácie sa odporúča pre stabilné a presné prostredie ladenia. To pomáha predchádzať zmätkom spôsobeným zmenami kódu po optimalizácii kompilátora.


POZNÁMKA Stále môžete kompilovať program so zapnutou optimalizáciou (príznak -O2), čo môže byť užitočné, ak sa zameriavate na ladenie zostavy GPU.


Program môžete skompilovať niekoľkými spôsobmi. Možnosti 1 a 2 používajú kompiláciu just-in-time (JIT), ktorá sa odporúča na ladenie sample. Možnosť 3 využíva kompiláciu vopred (AOT).

  • Možnosť 1. Môžete použiť CMake file na konfiguráciu a zostavenie aplikácie. Pozrite si README zo sample za pokyny.

POZNÁMKA CMake file poskytnutý sample už prechádza príznakmi -g -O0.


  • Možnosť 2. Ak chcete skompilovať súbor array-transform.cpp sample aplikácie bez CMake file, zadajte nasledujúce príkazy:

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

Ak sa kompilácia a prepojenie vykonáva oddelene, ponechajte v kroku prepojenia príznaky -g -O0. Krok prepojenia je, keď icpx preloží tieto príznaky, aby sa odovzdali kompilátoru zariadenia za behu. Naprample:

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

  • Možnosť 3. Môžete použiť kompiláciu AOT, aby ste sa vyhli dlhším časom kompilácie JIT za behu. Kompilácia JIT môže trvať výrazne dlhšie pre veľké jadrá pod ladiacim programom. Ak chcete použiť režim kompilácie Ahead-of-Time:

• Na ladenie na GPU:
Zadajte zariadenie, ktoré budete používať na vykonávanie programu. Naprample, -device dg2-g10 pre Intel® Data Center GPU Flex 140 Graphics. Zoznam podporovaných možností a ďalšie informácie o kompilácii AOT nájdete na Intel® oneAPI DPC++ Compiler Developer Guide and Reference.
Napríkladample:

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

Predbežná kompilácia vyžaduje OpenCLTM Offline Compiler (OC Compiler LOC). Ďalšie informácie nájdete v časti „Inštalácia OpenCLTM Offline Compiler (OCLOC)“ Inštalačná príručka.

• Pre ladenie na CPU:

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

Spustite reláciu ladenia

Spustite reláciu ladenia:

1. Spustite Intel® Distribution for GDB* takto:

gdb-oneapi pole-transform

Mali by ste vidieť výzvu (gdb).

2. Aby ste sa uistili, že jadro je presunuté na správne zariadenie, vykonajte nasledujúce kroky. Keď spustíte príkaz run z výzvy (gdb), prejdite procesor, gpu or urýchľovač argument:

  • Pre ladenie na CPU:

spustiť procesor

Exampvýstup:

[SYCL] Pomocou zariadenia: [Intel(R) Core(TM) i7-9750H CPU @ 2.60 GHz] od [Intel(R) OpenCL]
  • Pre ladenie na GPU:

spustiť gpu

Exampvýstup:

[SYCL] Používa sa zariadenie: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] od [Intel(R) LevelZero]
  • Pre ladenie na emulátore FPGA:

akcelerátor chodu

Exampvýstup:

[SYCL] Používanie zariadenia: [Intel(R) FPGA Emulation Device] od [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]

POZNÁMKA Parametre cpu, gpu a akcelerátora sú špecifické pre aplikáciu Array Transform.


3. Ak chcete ukončiť Intel® Distribution for GDB*:

skončiť

Pre vaše pohodlie sú bežné príkazy Intel® Distribution for GDB* poskytnuté v Referenčný list.

Na ladenie Array Transform sampa dozviete sa viac o Intel® Distribution for GDB*, prejdite si základné scenáre ladenia pomocou Návod.

Zistite viac
Dokument Popis
Návod: Ladenie pomocou Intel® Distribution pre GDB* Tento dokument popisuje základné scenáre, ktoré treba dodržiavať pri ladení SYCL* a OpenCL pomocou Intel® Distribution for GDB*.
Používateľská príručka Intel® Distribution for GDB* Tento dokument popisuje všetky bežné úlohy, ktoré môžete vykonať pomocou Intel® Distribution for GDB*, a poskytuje potrebné technické podrobnosti.
Poznámky k vydaniu Intel® Distribution for GDB* Poznámky obsahujú informácie o kľúčových schopnostiach, nových funkciách a známych problémoch Intel® Distribution for GDB*.
Stránka produktu oneAPI Táto stránka obsahuje krátky úvod k súpravám nástrojov oneAPI a odkazy na užitočné zdroje.
Referenčný hárok Intel® Distribution for GDB* Tento jednostranový dokument stručne popisuje predpoklady a užitočné príkazy Intel® Distribution for GDB*.
Jacobi Sample Táto malá aplikácia SYCL* má dve verzie: odstránenú a opravenú. Použite sample vykonávať ladenie aplikácií pomocou Intel® Distribution for GDB*.
Oznámenia a vylúčenia zodpovednosti

Technológie Intel môžu vyžadovať aktiváciu hardvéru, softvéru alebo služby.

Žiadny produkt alebo komponent nemôže byť absolútne bezpečný.

Vaše náklady a výsledky sa môžu líšiť.

© Intel Corporation. Intel, logo Intel a ďalšie značky Intel sú ochranné známky spoločnosti Intel Corporation alebo jej dcérskych spoločností. Iné názvy a značky môžu byť majetkom iných.

Týmto dokumentom nie je udelená žiadna licencia (výslovná alebo implicitná, prekážkou alebo inak) na akékoľvek práva duševného vlastníctva.

Popísané produkty môžu obsahovať konštrukčné chyby alebo chyby známe ako errata, ktoré môžu spôsobiť odchýlku produktu od publikovaných špecifikácií. Aktuálne charakterizované chyby sú k dispozícii na vyžiadanie.

Spoločnosť Intel sa zrieka všetkých výslovných a implicitných záruk, vrátane, bez obmedzenia, implicitných záruk predajnosti, vhodnosti na konkrétny účel a neporušenia, ako aj akejkoľvek záruky vyplývajúcej z priebehu výkonu, priebehu obchodovania alebo používania v obchode.

OpenCL a logo OpenCL sú ochranné známky spoločnosti Apple Inc. používané so súhlasom spoločnosti Khronos.

Dokumenty / zdroje

intel Distribution for GDB na Linux OS Host [pdf] Používateľská príručka
Distribúcia pre GDB na Linux OS Host, GDB na Linux OS Host, Linux OS Host, OS Host, Host

Referencie

Zanechajte komentár

Vaša emailová adresa nebude zverejnená. Povinné polia sú označené *