Filloni me Intel® Distribution për GDB* në Linux* OS Host

Filloni të përdorni Intel® Distribution për GDB* për debugimin e aplikacioneve. Ndiqni udhëzimet e mëposhtme për të konfiguruar korrigjuesin për të korrigjuar aplikacionet me kernelet e shkarkuar në pajisjet CPU dhe GPU.

Intel® Distribution për GDB* është i disponueshëm si pjesë e Instrumentit Bazë Intel® OneAPI. Për më shumë informacion mbi veglat e OneAPI, vizitoni faqen e produktit.

Vizitoni Shënimet e publikimit faqe për informacion rreth aftësive kryesore, veçorive të reja dhe çështjeve të njohura.

Ju mund të përdorni një SYCL* sampkodi, Array Transform, për të filluar me Shpërndarjen Intel® për GDB*. sample nuk gjeneron gabime dhe thjesht ilustron veçoritë e korrigjuesit. Kodi përpunon elementet e grupit hyrës në varësi të faktit nëse ato janë çift apo tek dhe prodhon një grup dalës. Ju mund të përdorni sample për të korrigjuar gabimet si në CPU ashtu edhe në GPU, duke specifikuar pajisjen e zgjedhur përmes një argumenti të linjës së komandës. Megjithatë, vini re se korrigjimi i GPU-së mund të kërkojë dy sisteme dhe konfigurim shtesë për korrigjimin në distancë.

Parakushtet

Nëse synoni të korrigjoni gabimet në GPU, instaloni drejtuesit më të fundit të GPU-së dhe konfiguroni sistemin tuaj për t'i përdorur ato. Referojuni Udhëzuesi i instalimit të Intel® OneAPI Toolkits për Linux* OS. Ndiqni udhëzimet Instaloni drejtuesit e GPU Intel për të instaluar drejtues GPU që përputhen me sistemin tuaj.

Për më tepër, mund të instaloni një shtesë për Visual Studio Code* për korrigjimin e GPU me Intel® Distribution për GDB*. Referojuni Përdorimi i kodit të Visual Studio me udhëzuesin e veglave Intel® OneAPI.

Konfiguro korrigjuesin e gabimeve të GPU

Për të konfiguruar korrigjuesin e gabimeve GPU, duhet të keni akses rrënjësor.


SHËNIM Gjatë korrigjimit të kernelit, GPU-ja ndalet dhe dalja e videos nuk është e disponueshme në kompjuterin tuaj të synuar. Për shkak të kësaj, nuk mund të korrigjoni GPU-në nga sistemi i synuar nëse karta GPU e sistemit përdoret gjithashtu për dalje grafike. Në këtë rast, lidheni me makinën përmes ssh.


1. Nëse synoni të korrigjoni gabimet në GPU, nevojitet një kernel Linux që mbështet korrigjimin e GPU-së.

a. Ndiqni udhëzimet në Softuer Intel® për aftësi GPU për qëllime të përgjithshme për të shkarkuar dhe instaluar drejtuesit e nevojshëm.
b. Aktivizo mbështetjen e korrigjimit të i915 në Kernel:

a. Hap një terminal.
b. Hapni grub file në /etc/default.
c. Në gropë file, gjeni rreshtin GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Futni tekstin e mëposhtëm midis thonjëzave (“”):

i915.debug_eu=1


SHËNIM Si parazgjedhje, drejtuesi i GPU-së nuk lejon që ngarkesat e punës të funksionojnë në një GPU më shumë se një kohë e caktuar. Shoferi vret ngarkesa të tilla pune të gjata duke rivendosur GPU-në për të parandaluar varjen. Mekanizmi hangcheck i drejtuesit është i çaktivizuar nëse aplikacioni funksionon nën korrigjuesin. Nëse planifikoni të ekzekutoni ngarkesa të gjata të llogaritjes pa u bashkangjitur një korrigjues, merrni parasysh aplikimin GPU: Çaktivizo Hangcheck duke shtuar

i915.enable_hangcheck=0

tek e njëjta Linja GRUB_CMDLINE_LINUX_DEFAULT.

c. Përditëso GRUB që këto ndryshime të hyjnë në fuqi:

sudo update-grub

d. Rindizni.

2. Konfiguro mjedisin tuaj CLI duke kërkuar skriptin setvars që ndodhet në rrënjën e instalimit të paketës së veglave.

Linux (sudo):

burimi /opt/intel/oneapi/setvars.sh

Linux (përdorues):

burimi ~/intel/oneapi/setvars.sh

3. Mjedisi i konfigurimit
Përdorni variablat e mjedisit të mëposhtëm për të aktivizuar mbështetjen e korrigjuesit për Intel® OneAPI Level Zero:

eksportoni ZET_ENABLE_PROGRAM_DEBUGGING=1
eksportoni IGC_EnableGTLocationDebugging=1

4. Kontrolli i sistemit
Kur gjithçka është gati, ju lutemi ekzekutoni komandën e mëposhtme për të konfirmuar se konfigurimi i sistemit është i besueshëm:

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

Një dalje e mundshme e një sistemi të konfiguruar mirë është si më poshtë:


Rezultatet e kontrollit:
================================================== ================================
Kontrolloni emrin: debugger_sys_check
Përshkrimi: Ky kontroll verifikon nëse mjedisi është gati për të përdorur gdb (Intel(R) Distribution për GDB*).
Statusi i rezultatit: KALO
U gjet korrigjuesi.
libipt i gjetur.
libiga e gjetur.
korrigjimi i i915 është aktivizuar.
Variablat e mjedisit janë të sakta. ================================================== =================================

1 KONTROLLI: 1 KALIM, 0 DËSHTIM, 0 PARALAJMËRIME, 0 GABIME

Dalja e konsolës file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt Dalja JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json…

Përpiloni programin me informacionin e korrigjimit

Ju mund të përdorni sampprojekti, Array Transform, për të filluar shpejt me korrigjuesin e aplikacionit.

1. Për të marrë sample, zgjidhni një nga mënyrat e mëposhtme:

2. Navigoni në src të sampprojekti:

cd array-transform/src

3. Përpiloni aplikacionin duke aktivizuar informacionin e korrigjimit (flamurin -g) dhe duke fikur optimizimet (flamuri -O0).
Rekomandohet çaktivizimi i optimizimit për një mjedis korrigjimi të qëndrueshëm dhe të saktë. Kjo ndihmon për të shmangur konfuzionin e shkaktuar nga ndryshimet në kod pas optimizimeve të përpiluesit.


SHËNIM Ju ende mund ta përpiloni programin me optimizimin e aktivizuar (flamuri -O2), i cili mund të jetë i dobishëm nëse synoni korrigjimin e montimit të GPU-së.


Ju mund ta përpiloni programin në disa mënyra. Opsionet 1 dhe 2 përdorin përpilimin vetëm në kohë (JIT), i cili rekomandohet për të korrigjuar gabimet sample. Opsioni 3 përdor përpilimin paraprak (AOT).

  • Opsioni 1. Ju mund të përdorni CMake file për të konfiguruar dhe ndërtuar aplikacionin. Referojuni LEXO e shekample për udhëzimet.

SHËNIM CMake file pajisur me sample tashmë i kalon flamujt -g -O0.


  • Opsioni 2. Për të përpiluar array-transform.cpp sampaplikacioni pa CMake file, lëshoni komandat e mëposhtme:

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

Nëse përpilimi dhe lidhja bëhet veçmas, mbani flamujt -g -O0 në hapin e lidhjes. Hapi i lidhjes është kur icpx i përkthen këto flamuj për t'i kaluar te përpiluesi i pajisjes në kohën e ekzekutimit. p.shampe:

icpx -fsycl -g -O0 -c grup-transformoj.cpp
icpx -fsycl -g -O0 vargje-transformim.o -o varg-transformim

  • Opsioni 3. Ju mund të përdorni përpilimin AOT për të shmangur kohë më të gjata përpilimi JIT në kohën e ekzekutimit. Kompilimi JIT mund të zgjasë shumë më shumë për kernelet e mëdha nën korrigjuesin. Për të përdorur modalitetin e përpilimit përpara kohe:

• Për korrigjimin e gabimeve në një GPU:
Specifikoni pajisjen që do të përdorni për ekzekutimin e programit. Për shembullample, -pajisja dg2-g10 për Intel® Data Center GPU Flex 140 Graphics. Për listën e opsioneve të mbështetura dhe më shumë informacion mbi përpilimin e AOT, referojuni Udhëzues dhe referencë për zhvilluesin e përpiluesit Intel® oneAPI DPC++.
Për shembullampe:

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

Përpilimi para kohe kërkon përpiluesin OpenCLTM Offline (OC Compiler LOC). Për më shumë informacion, referojuni seksionit “Instalo OpenCLTM Offline Compiler (OCLOC)” të Udhëzuesi i instalimit.

• Për korrigjimin e gabimeve në një CPU:

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

Filloni një sesion korrigjimi

Filloni seancën e korrigjimit:

1. Filloni Intel® Distribution për GDB* si më poshtë:

gdb-oneapi array-transform

Ju duhet të shihni kërkesën (gdb).

2. Për t'u siguruar që kerneli është shkarkuar në pajisjen e duhur, bëni hapat e mëposhtëm. Kur ekzekutoni komandën run nga prompt (gdb), kaloni CPU, gpu or përshpejtues argumenti:

  • Për korrigjimin e gabimeve në CPU:

ekzekutoni CPU

Example output:

[SYCL] Duke përdorur pajisjen: [CPU Intel(R) Core(TM) i7-9750H @ 2.60 GHz] nga [Intel(R) OpenCL]
  • Për korrigjimin e gabimeve në GPU:

ekzekutoni gpu

Example output:

[SYCL] Duke përdorur pajisjen: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] nga [Intel(R) LevelZero]
  • Për korrigjimin e gabimeve në emulatorin FPGA:

përshpejtuesi i drejtimit

Example output:

[SYCL] Duke përdorur pajisjen: [Intel(R) FPGA Emulation Device] nga [Intel(R) FPGA Emulation Platform for OpenCL(TM)]

SHËNIM Parametrat e cpu, gpu dhe përshpejtuesi janë specifike për aplikacionin Array Transform.


3. Për të dalë nga Shpërndarja Intel® për GDB*:

Për lehtësinë tuaj, komandat e zakonshme Intel® Distribution për GDB* ofrohen në Fletë referimi.

Për të korrigjuar gabimet e Array Transform sample dhe mësoni më shumë rreth Intel® Distribution për GDB*, kaloni nëpër skenarët bazë të korrigjimit duke përdorur Tutorial.

Mësoni më shumë
Dokumenti Përshkrimi
Tutorial: Korrigjimi me Intel® Distribution për GDB* Ky dokument përshkruan skenarët bazë që duhen ndjekur gjatë korrigjimit të SYCL* dhe OpenCL me Intel® Distribution për GDB*.
Udhëzuesi i përdorimit të Intel® Distribution for GDB* Ky dokument përshkruan të gjitha detyrat e zakonshme që mund të kryeni me Intel® Distribution për GDB* dhe ofron detajet e nevojshme teknike.
Shpërndarja Intel® për Shënimet e lëshimit të GDB* Shënimet përmbajnë informacion rreth aftësive kryesore, veçorive të reja dhe çështjeve të njohura të Intel® Distribution për GDB*.
Faqja e produktit oneAPI Kjo faqe përmban një hyrje të shkurtër mbi mjetet e OneAPI dhe lidhje me burime të dobishme.
Shpërndarja Intel® për Fletën e Referencës GDB* Ky dokument me një faqe përshkruan shkurtimisht Intel® Distribution për parakushtet e GDB* dhe komandat e dobishme.
Jacobi Sample Ky aplikacion i vogël SYCL* ka dy versione: me gabime dhe fikse. Përdorni sample për të ushtruar korrigjimin e aplikacioneve me Intel® Distribution për GDB*.
Njoftimet dhe mohimet

Teknologjitë Intel mund të kërkojnë aktivizimin e harduerit, softuerëve ose shërbimeve.

Asnjë produkt apo komponent nuk mund të jetë absolutisht i sigurt.

Kostot dhe rezultatet tuaja mund të ndryshojnë.

© Intel Corporation. Intel, logoja e Intel dhe markat e tjera Intel janë marka tregtare të Intel Corporation ose filialeve të saj. Emra dhe marka të tjera mund të pretendohen si pronë e të tjerëve.

Asnjë licencë (e shprehur ose e nënkuptuar, nga estoppel ose ndryshe) për asnjë të drejtë të pronësisë intelektuale nuk jepet nga ky dokument.

Produktet e përshkruara mund të përmbajnë defekte të dizajnit ose gabime të njohura si gabime të cilat mund të bëjnë që produkti të devijojë nga specifikimet e publikuara. Gabimet aktuale të karakterizuara janë në dispozicion sipas kërkesës.

Intel heq dorë nga të gjitha garancitë e shprehura dhe të nënkuptuara, duke përfshirë, pa kufizim, garancitë e nënkuptuara të tregtueshmërisë, përshtatshmërisë për një qëllim të caktuar dhe mos-shkeljes, si dhe çdo garanci që rrjedh nga rrjedha e performancës, kursi i marrëveshjes ose përdorimi në tregti.

OpenCL dhe logoja OpenCL janë marka tregtare të Apple Inc. të përdorura me leje nga Khronos.

Dokumentet / Burimet

Shpërndarja intel për GDB në hostin e Linux OS [pdfUdhëzuesi i përdoruesit
Shpërndarja për GDB në Linux OS Host, GDB në Linux OS Host, Linux OS Host, OS Host, Host

Referencat

Lini një koment

Adresa juaj e emailit nuk do të publikohet. Fushat e kërkuara janë shënuar *