Cuminciate cù Intel® Distribution per GDB * in Linux * OS Host
Cumincià à aduprà a Distribuzione Intel® per GDB * per l'applicazioni di debugging. Segui l'istruzzioni sottu per cunfigurà u debugger per debug l'applicazioni cù kernels scaricati à i dispositi CPU è GPU.
A distribuzione Intel® per GDB * hè dispunibule cum'è parte di l'Intel® oneAPI Base Toolkit. Per più infurmazione nantu à i toolkits oneAPI, visitate u pagina di u produttu.
Visita u Note di rilascio pagina per infurmazione nantu à e capacità chjave, funzioni novi è prublemi cunnisciuti.
Pudete aduprà un SYCL* sampu codice, Array Transform, per cumincià cù a Distribuzione Intel® per GDB *. U sample ùn genera micca errori è simpricimenti illustra e funzioni di debugger. U codice processa elementi di l'array di input secondu s'ellu sò pari o dispari è pruduce un array di output. Pudete aduprà u sample per debug sia in CPU sia in GPU, specificendu u dispusitivu sceltu per un argumentu di linea di cummanda. Nota però chì a debugging GPU pò esse bisognu di dui sistemi è cunfigurazione supplementu per a debugging remota.
Prerequisites
Se vulete debug in GPU, installate l'ultimi driver GPU è cunfigurà u vostru sistema per aduprà. Riferite à u Guida di installazione di Intel® oneAPI Toolkits per Linux* OS. Segui l'istruzzioni Installa i Driver GPU Intel per installà i driver GPU chì currispondenu à u vostru sistema.
Inoltre, pudete installà una estensione per Visual Studio Code * per debugging GPU cù Intel® Distribution for GDB *. Riferite à u Utilizà Visual Studio Code cù Intel® oneAPI Toolkits Guide.
Configurate u Debugger GPU
Per stallà u debugger GPU, duvete avè un accessu root.
NOTA Durante a debugging di u kernel, a GPU hè fermata è l'output video ùn hè micca dispunibule nantu à a vostra macchina di destinazione. Per quessa, ùn pudete micca debug a GPU da u sistema di destinazione se a carta GPU di u sistema hè ancu utilizata per a pruduzzioni gràfica. In questu casu, cunnette à a macchina via ssh.
1. Se vulete debug in GPU, hè necessariu un Kernel Linux chì supporta a debugging GPU.
a. Segui l'istruzzioni à Software Intel® per capacità GPU di u scopu generale per scaricà è stallà i drivers necessarii.
b. Abilita u supportu di debug i915 in Kernel:
a. Aprite un terminal.
b. Aprite u grub file in /etc/default.
c. In u grub file, truvate a linea GRUB_CMDLINE_LINUX_DEFAULT="".
d. Inserite u testu seguente trà e virgulette (""):
i915.debug_eu=1
NOTA Per automaticamente, u driver GPU ùn permette micca i carichi di travagliu per eseguisce nantu à una GPU più di un certu tempu. U cunduttore uccide tali carichi di travagliu di longa durata resettendu a GPU per prevene i blocchi. U mecanismu di hangcheck di u driver hè disattivatu se l'applicazione funziona sottu u debugger. Se pensa à eseguisce carichi di travagliu longu di calculu ancu senza un debugger esse attaccatu, cunzidira l'applicà GPU: Disattiva Hangcheck aghjustendu
i915.enable_hangcheck=0
à listessa GRUB_CMDLINE_LINUX_DEFAULT linea.
c. Aghjurnate GRUB per chì questi cambiamenti entranu in vigore:
sudo update-grub
d. Reboot.
2. Configurate u vostru ambiente CLI fornendu u script setvars situatu in a radica di a vostra stallazione di u toolkit.
Linux (sudo):
fonte /opt/intel/oneapi/setvars.sh
Linux (utilizatori):
fonte ~/intel/oneapi/setvars.sh
3. Ambiente di stallazione
Aduprate e seguenti variabili d'ambiente per attivà u supportu di debugger per Intel® oneAPI Level Zero:
export ZET_ENABLE_PROGRAM_DEBUGGING=1
export IGC_EnableGTLocationDebugging=1
4. Verificazione di u sistema
Quandu tuttu hè prontu, per piacè eseguite u cumandimu seguitu per cunfirmà chì a cunfigurazione di u sistema hè affidabile:
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py -filter debugger_sys_check -force
Una pussibule output di un sistema ben cunfiguratu hè a siguenti:
…
Verifica i risultati:
===================================================== =================================
Verificate u nome: debugger_sys_check
Descrizzione: Stu cuntrollu verifica se l'ambiente hè prontu à utilizà gdb (Distribuzione Intel(R) per GDB*).
Statutu di u risultatu: PASS
Debugger trovu.
libbit trovu.
libiga trovu.
Debug i915 hè attivatu.
Variabili ambientali curretti. ====================================================================================
1 VERIFICA: 1 PASS, 0 FAIL, 0 AVVISI, 0 ERRORI
Output di cunsola file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt output JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json…
Cumpilà u prugramma cù Debug Information
Pudete aduprà u sampu prughjettu, Array Transform, per inizià rapidamente cù u debugger di l'applicazione.
1. Per ottene u sample, sceglite una di e seguenti modi:
- Aduprate l'oneAPI CLI Sampu navigatore per selezziunà Array Transform da a categuria Getting Started.
- Scaricate da GitHub*.
2. Navigate à u src di u sampu prughjettu:
cd array-transform/src
3. Cumpilà l'applicazione attivendu l'infurmazioni di debug (-g flag) è disattivendu l'ottimisazioni (-O0 flag).
A disattivazione di l'ottimisazione hè cunsigliatu per un ambiente di debug stabile è precisu. Questu aiuta per evità a cunfusione causata da cambiamenti à u codice dopu l'optimizazione di compilatore.
NOTA Pudete ancu cumpilà u prugramma cù l'ottimisazione attivata (bandiera -O2), chì pò esse d'utile s'ellu mira à a debugging di l'assemblea GPU.
Pudete cumpilà u prugramma in parechje manere. L'opzioni 1 è 2 usanu a compilazione just-in-time (JIT), chì hè cunsigliatu per debug the sample. L'opzione 3 usa a compilazione anticipata (AOT).
- Opzione 1. Pudete aduprà u CMake file per cunfigurà è custruisce l'applicazione. Riferite à u LEGGIMI di u sample per l'istruzzioni.
NOTA U CMake file furnitu cù u sample passa digià i bandieri -g -O0.
- Opzione 2. Per compilà u array-transform.cpp sampl'applicazione senza u CMake file, emette i seguenti cumandamenti:
icpx -fsycl -g -O0 array-transform.cpp -o array-transform
Se a compilazione è u ligame hè fattu per separatamente, mantene e bandiere -g -O0 à u passu di ligame. U passu di ligame hè quandu icpx traduce queste bandiere per esse passate à u compilatore di u dispositivu in runtime. EsampLe:
icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o array-transform
- Opzione 3. Pudete utilizà a compilazione AOT per evità i tempi di compilazione JIT più longu in runtime. A compilazione JIT pò piglià assai più longu per i grandi kernels sottu u debugger. Per aduprà u modu di compilazione in anticipu:
• Per debugging in una GPU:
Specificate u dispositivu chì avete aduprà per l'esekzione di u prugramma. Per esample, -device dg2-g10 per Intel® Data Center GPU Flex 140 Graphics. Per a lista di l'opzioni supportate è più infurmazione nantu à a compilazione AOT, riferite à u Intel® oneAPI DPC++ Compiler Developer Guide and Reference.
Per esampLe:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs "-device dg2-g10" array-transform.cpp -o arraytransform
A compilazione anticipata richiede l'OpenCLTM Offline Compiler (OC Compiler LOC). Per più infurmazione, riferite à a sezione "Installa OpenCLTM Offline Compiler (OCLOC)" di u Guida d'installazione.
• Per debugging in un CPU:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform
Inizia una sessione di debug
Cumincià a sessione di debug:
1. Avviate a Distribuzione Intel® per GDB * cum'è seguente:
gdb-oneapi array-transform
Duvete vede u prompt (gdb).
2. Per assicurà chì u kernel hè scaricatu à u dispusitivu ghjustu, fate i seguenti passi. Quandu eseguite u cumandimu run da u prompt (gdb), passate u cpu, gpu or acceleratore argumentu:
- Per debugging in u CPU:
run cpu
Example output:
[SYCL] Utilizendu u dispositivu: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] da [Intel(R) OpenCL]- Per debugging nantu à a GPU:
run gpu
Example output:
[SYCL] Utilizendu u dispositivu: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] da [Intel(R) LevelZero]- Per debugging nantu à l'emulatore FPGA:
corsa acceleratore
Example output:
[SYCL] Utilizendu u dispositivu: [Dispositivu di Emulazione Intel(R) FPGA] da [Piattaforma di Emulazione Intel(R) FPGA per u software OpenCL(TM)]NOTA I paràmetri di cpu, gpu è acceleratore sò specifichi per l'applicazione Array Transform.
3. Per abbandunà a distribuzione Intel® per GDB*:
lascià
Per a vostra comodità, i cumandamenti cumuni Intel® Distribution for GDB * sò furniti in u Scheda di Riferenza.
Per debug u Array Transform sample è amparate più nantu à Intel® Distribution for GDB *, camminate attraversu scenarii di debugging basi utilizendu u Tutorial.
Sapè ne di più
Documentu | Descrizzione |
Tutorial: Debugging cù Intel® Distribution per GDB * | Stu documentu descrive i scenari basi da seguità durante a debugging SYCL * è OpenCL cù Intel® Distribution for GDB *. |
Intel® Distribution for GDB* Guida d'utilizatore | Stu documentu descrive tutti i travaglii cumuni chì pudete cumpletà cù Intel® Distribution for GDB * è furnisce i dettagli tecnichi necessarii. |
Intel® Distribution for GDB* Note di versione | E note cuntenenu infurmazioni nantu à e capacità chjave, e funzioni novi è i prublemi cunnisciuti di Intel® Distribution per GDB *. |
Pagina di produttu oneAPI | Questa pagina cuntene una breve introduzione nantu à i toolkits oneAPI è ligami à risorse utili. |
Scheda di riferimentu Intel® Distribution for GDB* | Stu documentu di una pagina descrive brevemente Intel® Distribution per GDB * prerequisiti è cumandamenti utili. |
Jacobi Sample | Questa piccula applicazione SYCL * hà duie versioni: bugged è fixed. Aduprà u sample per esercità u debugging di l'applicazioni cù Intel® Distribution for GDB*. |
Avvisi è Disclaimers
I tecnulugii Intel ponu necessità attivazione di hardware, software o serviziu.
Nisun pruduttu o cumpunente pò esse assolutamente sicuru.
I vostri costi è risultati pò varià.
© Intel Corporation. Intel, u logu Intel è altri marchi Intel sò marchi di Intel Corporation o di e so filiali. Altri nomi è marche ponu esse rivendicate cum'è a pruprietà di l'altri.
Nisuna licenza (espressa o implicita, per estoppel o altrimenti) à qualsiasi diritti di pruprietà intellettuale hè cuncessa da stu documentu.
I prudutti descritti ponu cuntene difetti di cuncepimentu o errori cunnisciuti cum'è errata chì ponu causà à u pruduttu di devià da e specificazioni publicate. L'errata carattarizatu attuale sò dispunibili nantu à dumanda.
Intel declina tutte e garanzie espresse è implicite, cumprese senza limitazione, e garanzie implicite di cummerciabilità, idoneità per un scopu particulari, è non-infrazione, è ancu qualsiasi guaranzia derivante da u cursu di prestazione, u cursu di trattu o l'usu in u cummerciu.
OpenCL è u logu OpenCL sò marchi di Apple Inc. utilizati cù permessu di Khronos.
Documenti / Risorse
![]() |
Intel Distribution for GDB in Linux OS Host [pdfGuida di l'utente Distribuzione per GDB in Linux OS Host, GDB in Linux OS Host, Linux OS Host, OS Host, Host |