Pib nrog Intel® Distribution rau GDB * ntawm Linux * OS Host

Pib siv Intel® Distribution rau GDB * rau kev debugging daim ntawv thov. Ua raws li cov lus qhia hauv qab no txhawm rau teeb tsa lub debugger rau debug daim ntawv thov nrog cov kernels offloaded rau CPU thiab GPU li.

Intel® Distribution for GDB* yog muaj ua ib feem ntawm Intel® oneAPI Base Toolkit. Yog xav paub ntxiv txog oneAPI toolkits, mus saib hauv nplooj ntawv khoom.

Mus saib lub Tso Lus Ceeb Toom nplooj ntawv rau cov ntaub ntawv hais txog lub peev xwm tseem ceeb, cov yam ntxwv tshiab, thiab cov teeb meem paub.

Koj tuaj yeem siv SYCL * sample code, Array Transform, pib nrog Intel® Distribution rau GDB*. Cov sample tsis tsim qhov yuam kev thiab tsuas yog piav qhia cov yam ntxwv debugger. Cov cai txheej txheem cov ntsiab lus ntawm cov tswv yim array nyob ntawm seb lawv puas los yog khib thiab tsim cov khoom tso tawm. Koj tuaj yeem siv sample mus debug ntawm ob qho tib si CPU lossis GPU, qhia meej cov khoom xaiv los ntawm kev sib cav kab lus. Nco ntsoov tias GPU debugging yuav xav tau ob lub tshuab thiab teeb tsa ntxiv rau kev debugging tej thaj chaw deb.

Yam yuavtsum tau kawm uantej

Yog tias koj tsom mus debug ntawm GPU, nruab qhov tseeb GPU tsav tsheb thiab teeb tsa koj lub cev siv lawv. Xa mus rau Intel® oneAPI Toolkits Installation Guide for Linux* OS. Ua raws li cov lus qhia Nruab Intel GPU Drivers txhawm rau nruab GPU tsav tsheb sib piv koj lub cev.

Tsis tas li ntawd, koj tuaj yeem nruab qhov txuas ntxiv rau Visual Studio Code * rau kev debugging GPU nrog Intel® Distribution rau GDB *. Xa mus rau lub Siv Visual Studio Code nrog Intel® oneAPI Toolkits Guide.

Teem lub GPU Debugger

Txhawm rau teeb tsa GPU debugger, koj yuav tsum muaj lub hauv paus nkag.


Nco tseg Thaum lub sijhawm debugging ntsiav, GPU raug tso tseg thiab cov zis video tsis muaj nyob rau ntawm koj lub hom phiaj lub tshuab. Vim li no, koj tsis tuaj yeem debug GPU los ntawm lub hom phiaj yog tias daim npav GPU ntawm lub kaw lus kuj tseem siv rau cov duab tso tawm. Hauv qhov no, txuas mus rau lub tshuab ntawm ssh.


1. Yog tias koj tsom mus debug ntawm GPU, Linux Kernel uas txhawb GPU debugging yog xav tau.

a. Ua raws li cov lus qhia ntawm Intel® software rau lub hom phiaj dav dav GPU muaj peev xwm mus download tau thiab nruab cov tsav tsheb tsim nyog.
b. Pab kom i915 debug kev txhawb nqa hauv Kernel:

a. Qhib lub davhlau ya nyob twg.
b. Qhib lub grub file hauv /etc/default.
c. Nyob rau hauv lub grub file, nrhiav kab GRUB_CMDLINE_LINUX_DEFAULT = "".
d. Nkag mus rau cov ntawv hauv qab no ntawm cov quotes (""):

i915.debug_eu=1


Nco tseg Los ntawm lub neej ntawd, tus tsav tsheb GPU tsis tso cai rau cov haujlwm ua haujlwm khiav ntawm GPU ntev dua li qee lub sijhawm. Tus neeg tsav tsheb tua cov haujlwm ua haujlwm ntev li no los ntawm kev rov pib dua GPU los tiv thaiv hangs. Lub hangcheck mechanism ntawm tus tsav tsheb yog neeg xiam yog tias daim ntawv thov khiav hauv qab qhov debugger. Yog tias koj npaj yuav ua haujlwm ntev suav nrog yam tsis muaj qhov debugger txuas, xav txog kev thov GPU: Disable Hangcheck los ntawm kev ntxiv

i915.enable_hangcheck=0

rau tib yam GRUB_CMDLINE_LINUX_DEFAULT kab.

c. Hloov kho GRUB rau cov kev hloov pauv no kom siv tau:

sudo hloov tshiab-grub

d. Rov pib dua.

2. Teeb tsa koj qhov chaw CLI los ntawm kev nrhiav cov ntawv setvars nyob rau hauv lub hauv paus ntawm koj cov cuab yeej teeb tsa.

Linux (sudo):

qhov chaw /opt/intel/oneapi/setvars.sh

Linux (neeg siv):

qhov chaw ~/intel/oneapi/setvars.sh

3. Teeb ib puag ncig
Siv cov kev hloov pauv ib puag ncig hauv qab no los pab txhawb kev debugger rau Intel® oneAPI Qib Zero:

export ZET_ENABLE_PROGRAM_DEBUGGING=1
export IGC_EnableGTLocationDebugging=1

4. Kev kuaj xyuas
Thaum txhua yam npaj txhij, thov khiav cov lus txib hauv qab no kom paub meej tias qhov system configuration yog txhim khu kev qha:

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

Qhov ua tau zoo ntawm qhov kev teeb tsa zoo yog raws li hauv qab no:


Txheeb xyuas cov txiaj ntsig:
============================================ ==============================
Kos npe: debugger_sys_check
Nqe lus piav qhia: Daim tshev no txheeb xyuas yog tias ib puag ncig npaj siv gdb (Intel(R) Distribution for GDB*).
Cov xwm txheej tshwm sim: PASS
Debugger pom.
pom libpt.
libiga pom.
i915 debug yog enabled.
Environmental variables yog lawm. ============================================ =======================================================

1 QHOV TSEEB: 1 PASS, 0 FAIL, 0 CEEB TOOM, 0 Error

Console tso zis file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON tso zis file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Sau cov Program nrog Debug Cov Ntaub Ntawv

Koj tuaj yeem siv sample project, Array Transform, kom sai tau pib nrog daim ntawv thov debugger.

1. Kom tau txais sample, xaiv ib qho ntawm cov hauv qab no:

2. Nkag mus rau src ntawm sampqhov project:

cd array-transform/src

3. Sau daim ntawv thov los ntawm kev ua kom cov ntaub ntawv debug (-g chij) thiab tua cov kev ua kom zoo (-O0 chij).
Disabling optimization yog pom zoo rau qhov ruaj khov thiab raug debug ib puag ncig. Qhov no yuav pab kom tsis txhob muaj kev tsis sib haum xeeb los ntawm kev hloov pauv rau cov cai tom qab kev ua kom zoo ntawm cov compiler.


Nco tseg Koj tseem tuaj yeem suav cov kev pabcuam nrog kev ua kom zoo dua qub (-O2 chij), uas tuaj yeem pab tau yog tias koj tsom mus rau GPU sib dhos debugging.


Koj tuaj yeem sau qhov program hauv ntau txoj hauv kev. Options 1 thiab 2 siv just-in-time (JIT) muab tso ua ke, uas yog pom zoo kom debug lub sample. Kev xaiv 3 siv ua ntej-ntawm-lub sij hawm (AOT) muab tso ua ke.

  • Kev xaiv 1. Koj tuaj yeem siv CMake file configure thiab tsim daim ntawv thov. Xa mus rau lub README ntawm sample rau cov lus qhia.

Nco tseg CMake file muab nrog sample twb hla tus chij -g -O0.


  • Kev xaiv 2. Kom suav cov array-transform.cpp sample daim ntawv thov yam tsis muaj CMake file, tawm cov lus txib hauv qab no:

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

Yog tias muab tso ua ke thiab sib txuas ua ke sib cais, khaws cov chij -g -O0 ntawm cov kauj ruam txuas. Cov kauj ruam txuas yog thaum icpx txhais cov chij no kom dhau mus rau lub cuab yeej compiler ntawm runtime. Example:

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

  • Kev xaiv 3. Koj tuaj yeem siv AOT muab tso ua ke kom tsis txhob ntev JIT muab tso ua ke ntawm lub sijhawm ua haujlwm. JIT muab tso ua ke tuaj yeem siv sijhawm ntev dua rau cov kernels loj hauv qab qhov debugger. Txhawm rau siv Ahead-of-Time compilation hom:

• Rau kev debugging ntawm GPU:
Qhia meej lub cuab yeej uas koj yuav siv rau kev ua haujlwm. Rau example, -device dg2-g10 rau Intel® Data Center GPU Flex 140 Graphics. Rau cov npe ntawm cov kev xaiv uas tau txais kev txhawb nqa thiab cov lus qhia ntxiv ntawm AOT muab tso ua ke, xa mus rau Intel® oneAPI DPC ++ Compiler Developer Guide thiab Reference.
Rau example:

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

Ua ntej-ntawm-Lub Sijhawm muab tso ua ke yuav tsum muaj OpenCLTM Offline Compiler (OC Compiler LOC). Yog xav paub ntxiv, xa mus rau seem "Nruab OpenCLTM Offline Compiler (OCLOC)" ntawm qhov Daim ntawv qhia kev teeb tsa.

• Rau kev debugging ntawm CPU:

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

Pib lub Debug Session

Pib lub sij hawm debug:

1. Pib Intel® Distribution rau GDB * raws li hauv qab no:

gdb-oneapi array-hloov

Koj yuav tsum pom cov lus qhia (gdb).

2. Txhawm rau kom paub tseeb tias cov kernel yog offloaded rau lub cuab yeej zoo, ua cov kauj ruam hauv qab no. Thaum koj ua tiav qhov kev hais kom ua los ntawm (gdb) kom sai, dhau qhov cpu ua, gpu ua or accelerator kev sib cav:

  • Rau kev debugging ntawm CPU:

khiav cpu

Examptso zis:

[SYCL] Siv cov khoom siv: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] los ntawm [Intel(R) OpenCL]
  • Rau kev debugging ntawm GPU:

khiav gpu

Examptso zis:

[SYCL] Siv cov cuab yeej: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] los ntawm [Intel(R) LevelZero]
  • Rau kev debugging ntawm FPGA-emulator:

khiav accelerator

Examptso zis:

[SYCL] Siv cov cuab yeej: [Intel(R) FPGA Emulation Device] los ntawm [Intel(R) FPGA Emulation Platform rau OpenCL(TM) software]

Nco tseg Lub cpu, gpu, thiab accelerator tsis yog tshwj xeeb rau Array Transform daim ntawv thov.


3. Txhawm rau tawm ntawm Intel® Distribution rau GDB *:

tawm

Rau koj qhov yooj yim, ntau Intel® Distribution rau GDB * cov lus txib tau muab rau hauv Daim Ntawv Qhia.

Txhawm rau debug Array Transform sample thiab kawm ntxiv txog Intel® Distribution rau GDB*, taug kev los ntawm cov txheej txheem debugging yooj yim siv cov Kev qhia.

Kawm ntxiv
Cov ntaub ntawv Kev piav qhia
Tutorial: Debugging nrog Intel® Distribution rau GDB * Cov ntaub ntawv no piav qhia txog cov xwm txheej yooj yim ua raws thaum kev debugging SYCL * thiab OpenCL nrog Intel® Distribution rau GDB *.
Intel® Distribution for GDB* Cov Neeg Siv Qhia Cov ntaub ntawv no piav qhia txhua yam haujlwm uas koj tuaj yeem ua tiav nrog Intel® Distribution rau GDB * thiab muab cov ntsiab lus tsim nyog.
Intel® Distribution for GDB* Tso Lus Sau Cov ntawv sau muaj cov ntaub ntawv hais txog lub peev xwm tseem ceeb, cov yam ntxwv tshiab, thiab paub txog cov teeb meem ntawm Intel® Distribution rau GDB *.
oneAPI Product Page Nplooj ntawv no muaj cov lus qhia luv luv ntawm oneAPI toolkits thiab txuas rau cov peev txheej muaj txiaj ntsig.
Intel® Distribution for GDB* Reference Sheet Cov ntaub ntawv ib nplooj ntawv no piav qhia luv luv ntawm Intel® Distribution rau GDB * qhov yuav tsum tau ua ua ntej thiab cov lus txib muaj txiaj ntsig.
Jacobi Sample Daim ntawv thov SYCL * me me no muaj ob hom: bugged thiab kho. Siv cov sample rau kev siv daim ntawv thov kev debugging nrog Intel® Distribution rau GDB *.
Cov ntawv ceeb toom thiab tsis lees paub

Cov thev naus laus zis thev naus laus zis tej zaum xav tau kev kho vajtse, software lossis kev ua haujlwm.

Tsis muaj cov khoom lag luam lossis cov khoom lag luam tuaj yeem ruaj ntseg kiag li.

Koj cov nqi thiab cov txiaj ntsig yuav txawv.

© Intel Corporation. Intel, Intel logo, thiab lwm yam Intel cov cim yog cov cim lag luam ntawm Intel Corporation lossis nws cov koom haum. Lwm lub npe thiab cov npe yuav raug lees paub tias yog cov cuab yeej ntawm lwm tus.

Tsis muaj daim ntawv tso cai (qhia los yog hais, los ntawm estoppel los yog lwm yam) rau ib qho kev txawj ntse muaj cai tau tso cai los ntawm daim ntawv no.

Cov khoom uas tau piav qhia yuav muaj cov qauv tsim los yog qhov yuam kev hu ua errata uas tuaj yeem ua rau cov khoom sib txawv ntawm cov lus tshaj tawm. Tam sim no tus yam ntxwv errata muaj nyob rau ntawm kev thov.

Intel tsis lees paub txhua qhov kev lees paub thiab kev lees paub, suav nrog yam tsis muaj kev txwv, kev lees paub ntawm kev ua lag luam, kev nyab xeeb rau lub hom phiaj tshwj xeeb, thiab tsis ua txhaum cai, nrog rau txhua qhov kev lees paub tshwm sim los ntawm kev ua tau zoo, kev lag luam, lossis kev siv hauv kev lag luam.

OpenCL thiab OpenCL logo yog cov cim lag luam ntawm Apple Inc. siv los ntawm kev tso cai los ntawm Khronos.

Cov ntaub ntawv / Cov ntaub ntawv

intel Distribution rau GDB ntawm Linux OS Host [ua pdf] Cov neeg siv phau ntawv qhia
Distribution for GDB on Linux OS Host, GDB on Linux OS Host, Linux OS Host, OS Host, Host

Cov ntaub ntawv

Cia ib saib

Koj email chaw nyob yuav tsis raug luam tawm. Cov teb uas yuav tsum tau muaj yog cim *