Začněte s Intel® Distribution for GDB* na Linux* OS Host
Začněte používat Intel® Distribution for GDB* pro ladění aplikací. Postupujte podle pokynů níže a nastavte ladicí program pro ladění aplikací s jádry přenesenými na zařízení CPU a GPU.
Intel® Distribution for GDB* je k dispozici jako součást Intel® oneAPI Base Toolkit. Další informace o sadách nástrojů oneAPI naleznete na stránka produktu.
Navštivte Poznámky k vydání na stránce s informacemi o klíčových funkcích, nových funkcích a známých problémech.
Můžete použít SYCL* sample code, Array Transform, abyste mohli začít s Intel® Distribution for GDB*. Sample negeneruje chyby a pouze ilustruje funkce debuggeru. Kód zpracovává prvky vstupního pole v závislosti na tom, zda jsou sudé nebo liché, a vytváří výstupní pole. Můžete použít sample pro ladění jak na CPU, tak na GPU, specifikováním zvoleného zařízení pomocí argumentu příkazového řádku. Pamatujte však, že ladění GPU může vyžadovat dva systémy a další konfiguraci pro vzdálené ladění.
Předpoklady
Pokud chcete ladit GPU, nainstalujte nejnovější ovladače GPU a nakonfigurujte svůj systém tak, aby je používal. Viz Instalační příručka Intel® oneAPI Toolkits pro operační systém Linux*. Následuj instrukce Nainstalujte ovladače GPU Intel nainstalovat ovladače GPU odpovídající vašemu systému.
Navíc si můžete nainstalovat rozšíření pro Visual Studio Code* pro ladění GPU pomocí Intel® Distribution for GDB*. Viz Použití Visual Studio Code s Intel® oneAPI Toolkits Guide.
Nastavte GPU Debugger
Chcete-li nastavit ladicí program GPU, musíte mít přístup root.
POZNÁMKA Během ladění jádra se GPU zastaví a video výstup není na vašem cílovém počítači dostupný. Z tohoto důvodu nemůžete odladit GPU z cílového systému, pokud se GPU karta systému používá také pro grafický výstup. V tomto případě se připojte k počítači přes ssh.
1. Pokud chcete ladit na GPU, je potřeba linuxové jádro, které podporuje ladění GPU.
a. Postupujte podle pokynů na Software Intel® pro obecné funkce GPU stáhnout a nainstalovat potřebné ovladače.
b. Povolit podporu ladění i915 v jádře:
a. Otevřete terminál.
b. Otevřete grub file v /etc/default.
c. V grub file, najděte řádek GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Zadejte následující text mezi uvozovky („“):
i915.debug_eu=1
POZNÁMKA Ovladač GPU ve výchozím nastavení neumožňuje spouštění úloh na GPU déle než po určitou dobu. Ovladač ukončí takovéto dlouhotrvající úlohy resetováním GPU, aby se zabránilo zablokování. Mechanismus zablokování ovladače je zakázán, pokud je aplikace spuštěna pod ladicím programem. Pokud plánujete spouštět dlouhé výpočetní úlohy také bez připojeného ladicího programu, zvažte použití GPU: Zakázat Hangcheck přidáním
i915.enable_hangcheck=0
na stejné Řádek GRUB_CMDLINE_LINUX_DEFAULT.
c. Aktualizujte GRUB, aby se tyto změny projevily:
sudo update-grub
d. Restartujte.
2. Nastavte své prostředí CLI pomocí skriptu setvars umístěného v kořenovém adresáři instalace vaší sady nástrojů.
Linux (sudo):
zdroj /opt/intel/oneapi/setvars.sh
Linux (uživatel):
zdroj ~/intel/oneapi/setvars.sh
3. Prostředí nastavení
Chcete-li povolit podporu ladicího programu pro Intel® oneAPI Level Zero, použijte následující proměnné prostředí:
export ZET_ENABLE_PROGRAM_DEBUGGING=1
export IGC_EnableGTLocationDebugging=1
4. Kontrola systému
Když je vše připraveno, spusťte prosím následující příkaz, abyste potvrdili, že konfigurace systému je spolehlivá:
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force
Možný výstup dobře nakonfigurovaného systému je následující:
…
Výsledky kontrol:
==================================================== =================================
Název kontroly: debugger_sys_check
Popis: Tato kontrola ověřuje, zda je prostředí připraveno k použití gdb (Intel(R) Distribution for GDB*).
Stav výsledku: PASS
Byl nalezen ladicí program.
libipt nalezen.
nalezena libiga.
ladění i915 je povoleno.
Proměnné prostředí správné. ==================================================== =================================
1 KONTROLA: 1 ÚSPĚCH, 0 NEÚSPĚCH, 0 VAROVÁNÍ, 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 …
Zkompilujte program s informacemi o ladění
Můžete použít sample projektu, Array Transform, abyste mohli rychle začít s ladicím programem aplikací.
1. Chcete-li získat sample, vyberte některý z následujících způsobů:
- Použijte oneAPI CLI SampProhlížeč vyberte Array Transform z kategorie Začínáme.
- Stáhnout z GitHub*.
2. Přejděte na zdrojový kód sampprojekt:
cd array-transform/src
3. Zkompilujte aplikaci povolením informací o ladění (příznak -g) a vypnutím optimalizací (příznak -O0).
Zakázání optimalizace se doporučuje pro stabilní a přesné ladicí prostředí. To pomáhá vyhnout se zmatkům způsobeným změnami kódu po optimalizacích kompilátoru.
POZNÁMKA Stále můžete kompilovat program se zapnutou optimalizací (příznak -O2), což může být užitečné, pokud se zaměřujete na ladění sestavy GPU.
Program můžete zkompilovat několika způsoby. Možnosti 1 a 2 používají kompilaci just-in-time (JIT), která se doporučuje pro ladění sample. Možnost 3 využívá kompilaci předem (AOT).
- Možnost 1. Můžete použít CMake file pro konfiguraci a sestavení aplikace. Viz README ze sample za návod.
POZNÁMKA CMake file opatřeno sample již předává příznaky -g -O0.
- Možnost 2. Chcete-li zkompilovat soubor array-transform.cpp sample aplikace bez CMake file, zadejte následující příkazy:
icpx -fsycl -g -O0 array-transform.cpp -o array-transform
Pokud se kompilace a propojení provádí samostatně, ponechte v kroku propojení příznaky -g -O0. Krok propojení je, když icpx přeloží tyto příznaky, aby byly předány kompilátoru zařízení za běhu. Přampten:
icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o array-transform
- Možnost 3. Můžete použít kompilaci AOT, abyste se vyhnuli delší době kompilace JIT za běhu. Kompilace JIT může u velkých jader pod debuggerem trvat podstatně déle. Chcete-li použít režim kompilace Ahead-of-Time:
• Pro ladění na GPU:
Zadejte zařízení, které budete používat pro provádění programu. Napřample, -device dg2-g10 pro Intel® Data Center GPU Flex 140 Graphics. Seznam podporovaných možností a další informace o kompilaci AOT naleznete na Intel® oneAPI DPC++ Compiler Developer Guide and Reference.
Napřampten:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs „-device dg2-g10“ array-transform.cpp -o arraytransform
Předběžná kompilace vyžaduje OpenCLTM Offline Compiler (OC Compiler LOC). Další informace naleznete v části „Instalace OpenCLTM Offline Compiler (OCLOC)“ Průvodce instalací.
• Pro ladění na CPU:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform
Spusťte relaci ladění
Spusťte relaci ladění:
1. Spusťte Intel® Distribution for GDB* následovně:
gdb-oneapi array-transform
Měli byste vidět výzvu (gdb).
2. Chcete-li se ujistit, že je jádro přeneseno na správné zařízení, proveďte následující kroky. Když spustíte příkaz run z příkazového řádku (gdb), předejte CPU, gpu or urychlovač argument:
- Pro ladění na CPU:
spustit cpu
Exampvýstup:
[SYCL] Pomocí zařízení: [Intel(R) Core(TM) i7-9750H CPU @ 2.60 GHz] od [Intel(R) OpenCL]- Pro ladění na GPU:
spustit gpu
Exampvýstup:
[SYCL] Použití zařízení: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] od [Intel(R) LevelZero]- Pro ladění na emulátoru FPGA:
urychlovač běhu
Exampvýstup:
[SYCL] Použití zařízení: [Intel(R) FPGA Emulation Device] od [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]POZNÁMKA Parametry cpu, gpu a akcelerátoru jsou specifické pro aplikaci Array Transform.
3. Chcete-li ukončit Intel® Distribution for GDB*:
přestat
Pro vaše pohodlí jsou k dispozici běžné příkazy Intel® Distribution for GDB* Referenční list.
Chcete-li ladit Array Transform sampa zjistěte více o Intel® Distribution for GDB*, projděte si základní scénáře ladění pomocí Konzultace.
Další informace
Dokument | Popis |
Kurz: Ladění pomocí Intel® Distribution pro GDB* | Tento dokument popisuje základní scénáře, které je třeba dodržovat při ladění SYCL* a OpenCL pomocí Intel® Distribution for GDB*. |
Uživatelská příručka Intel® Distribution for GDB* | Tento dokument popisuje všechny běžné úlohy, které můžete provést s Intel® Distribution for GDB*, a poskytuje potřebné technické podrobnosti. |
Poznámky k vydání Intel® Distribution for GDB* | Poznámky obsahují informace o klíčových funkcích, nových funkcích a známých problémech Intel® Distribution for GDB*. |
Stránka produktu oneAPI | Tato stránka obsahuje stručný úvod k sadám nástrojů oneAPI a odkazy na užitečné zdroje. |
Referenční list Intel® Distribution for GDB* | Tento jednostránkový dokument stručně popisuje předpoklady a užitečné příkazy Intel® Distribution for GDB*. |
Jacobi Sample | Tato malá aplikace SYCL* má dvě verze: opravenou a opravenou. Použijte sampmůžete vyzkoušet ladění aplikací pomocí Intel® Distribution for GDB*. |
Upozornění a vyloučení odpovědnosti
Technologie Intel mohou vyžadovat aktivaci aktivovaného hardwaru, softwaru nebo služby.
Žádný produkt nebo součást nemůže být absolutně zabezpečená.
Vaše náklady a výsledky se mohou lišit.
© Intel Corporation. Intel, logo Intel a další značky Intel jsou ochranné známky společnosti Intel Corporation nebo jejích dceřiných společností. Jiná jména a značky mohou být nárokovány jako vlastnictví jiných.
Tímto dokumentem není udělena žádná licence (výslovná nebo předpokládaná, estoppel nebo jinak) k právům duševního vlastnictví.
Popisované produkty mohou obsahovat konstrukční vady nebo chyby známé jako errata, které mohou způsobit odchylku produktu od publikovaných specifikací. Aktuální charakterizované chyby jsou k dispozici na vyžádání.
Intel se zříká všech výslovných a předpokládaných záruk, včetně, bez omezení, předpokládaných záruk obchodovatelnosti, vhodnosti pro určitý účel a neporušení práv, jakož i jakékoli záruky vyplývající z průběhu výkonu, průběhu obchodování nebo použití v obchodě.
OpenCL a logo OpenCL jsou ochranné známky společnosti Apple Inc. používané se svolením společnosti Khronos.
Dokumenty / zdroje
![]() |
Intel Distribuce pro GDB na Linux OS Host [pdfUživatelská příručka Distribuce pro GDB na Linux OS Host, GDB na Linux OS Host, Linux OS Host, OS Host, Host |