Magsimula sa Intel® Distribution para sa GDB* sa Linux* OS Host
Simulan ang paggamit ng Intel® Distribution para sa GDB* para sa pag-debug ng mga application. Sundin ang mga tagubilin sa ibaba para i-set up ang debugger para i-debug ang mga application na may mga kernel na na-offload sa mga CPU at GPU device.
Ang Intel® Distribution para sa GDB* ay available bilang bahagi ng Intel® oneAPI Base Toolkit. Para sa higit pang impormasyon sa mga toolkit ng oneAPI, bisitahin ang pahina ng produkto.
Bisitahin ang Mga Tala sa Paglabas page para sa impormasyon tungkol sa mga pangunahing kakayahan, mga bagong feature, at mga kilalang isyu.
Maaari kang gumamit ng SYCL* sampang code, Array Transform, upang makapagsimula sa Intel® Distribution para sa GDB*. Ang sampAng le ay hindi bumubuo ng mga error at naglalarawan lamang ng mga tampok ng debugger. Pinoproseso ng code ang mga elemento ng input array depende sa kung pantay o kakaiba ang mga ito at gumagawa ng output array. Maaari mong gamitin ang sampi-debug sa parehong CPU o GPU, na tumutukoy sa napiling device sa pamamagitan ng argumento ng command line. Tandaan na ang pag-debug ng GPU ay maaaring mangailangan ng dalawang system at karagdagang configuration para sa malayuang pag-debug.
Mga kinakailangan
Kung nilalayon mong mag-debug sa GPU, i-install ang pinakabagong mga driver ng GPU at i-configure ang iyong system na gamitin ang mga ito. Sumangguni sa Gabay sa Pag-install ng Intel® oneAPI Toolkits para sa Linux* OS. Sundin ang mga panuto I-install ang mga Intel GPU Driver para mag-install ng mga GPU driver na tumutugma sa iyong system.
Bukod pa rito, maaari kang mag-install ng extension para sa Visual Studio Code* para sa pag-debug ng GPU gamit ang Intel® Distribution para sa GDB*. Sumangguni sa Paggamit ng Visual Studio Code na may Intel® oneAPI Toolkits Guide.
I-set Up ang GPU Debugger
Upang i-set up ang GPU debugger, dapat ay mayroon kang root access.
TANDAAN Sa panahon ng pag-debug ng kernel, ihihinto ang GPU at hindi available ang output ng video sa iyong target na makina. Dahil dito, hindi mo ma-debug ang GPU mula sa target na system kung ginagamit din ang GPU card ng system para sa graphical na output. Sa kasong ito, kumonekta sa makina sa pamamagitan ng ssh.
1. Kung nilalayon mong mag-debug sa GPU, kailangan ng Linux Kernel na sumusuporta sa pag-debug ng GPU.
a. Sundin ang mga tagubilin sa Intel® software para sa pangkalahatang layunin ng mga kakayahan ng GPU upang i-download at i-install ang mga kinakailangang driver.
b. Paganahin ang suporta sa pag-debug ng i915 sa Kernel:
a. Magbukas ng terminal.
b. Buksan ang grub file sa /etc/default.
c. Sa grub file, hanapin ang linyang GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Ilagay ang sumusunod na text sa pagitan ng mga quote (“”):
i915.debug_eu=1
TANDAAN Bilang default, hindi pinapayagan ng driver ng GPU ang mga workload na tumakbo sa isang GPU nang mas mahaba kaysa sa isang tiyak na tagal ng oras. Pinapatay ng driver ang mga matagal nang workload sa pamamagitan ng pag-reset ng GPU para maiwasan ang mga hang. Ang mekanismo ng hangcheck ng driver ay hindi pinagana kung ang application ay tumatakbo sa ilalim ng debugger. Kung plano mong magpatakbo ng mahahabang compute workload nang walang nakakabit na debugger, isaalang-alang ang pag-apply GPU: Huwag paganahin ang Hangcheck sa pamamagitan ng pagdaragdag
i915.enable_hangcheck=0
sa pareho GRUB_CMDLINE_LINUX_DEFAULT na linya.
c. I-update ang GRUB para magkabisa ang mga pagbabagong ito:
sudo update-grub
d. I-reboot.
2. I-set up ang iyong CLI environment sa pamamagitan ng pagkuha ng setvars script na matatagpuan sa ugat ng iyong pag-install ng toolkit.
Linux (sudo):
pinagmulan /opt/intel/oneapi/setvars.sh
Linux (gumagamit):
pinagmulan ~/intel/oneapi/setvars.sh
3. I-setup ang kapaligiran
Gamitin ang mga sumusunod na variable ng kapaligiran upang paganahin ang suporta sa debugger para sa Intel® oneAPI Level Zero:
i-export ang ZET_ENABLE_PROGRAM_DEBUGGING=1
i-export ang IGC_EnableGTLocationDebugging=1
4. Pagsusuri ng system
Kapag handa na ang lahat, mangyaring patakbuhin ang sumusunod na command upang kumpirmahin na maaasahan ang configuration ng system:
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force
Ang isang posibleng output ng isang mahusay na na-configure na sistema ay ang mga sumusunod:
…
Sinusuri ang mga resulta:
================================================================== ===============================
Suriin ang pangalan: debugger_sys_check
Paglalarawan: Ang tseke na ito ay nagpapatunay kung ang kapaligiran ay handa nang gumamit ng gdb (Intel(R) Distribution para sa GDB*).
Status ng resulta: PASS
Nahanap ang debugger.
natagpuan ang libipt.
natagpuan ang libiga.
i915 debug ay pinagana.
Tama ang mga variable ng kapaligiran. ================================================================== =================================
1 CHECK: 1 PASS, 0 FAIL, 0 WARNINGS, 0 ERRORS
Output ng console file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON output file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …
I-compile ang Program na may Impormasyon sa Debug
Maaari mong gamitin ang sampang proyekto, Array Transform, upang mabilis na makapagsimula sa debugger ng application.
1. Upang makuha ang sample, pumili ng alinman sa mga sumusunod na paraan:
- Gamitin ang oneAPI CLI Samples Browser upang piliin ang Array Transform mula sa kategoryang Pagsisimula.
- I-download mula sa GitHub*.
2. Mag-navigate sa src ng sampang proyekto:
cd array-transform/src
3. I-compile ang application sa pamamagitan ng pag-enable sa debug info (-g flag) at pag-off ng mga optimization (-O0 flag).
Inirerekomenda ang hindi pagpapagana ng pag-optimize para sa isang matatag at tumpak na kapaligiran sa pag-debug. Nakakatulong ito upang maiwasan ang pagkalito na dulot ng mga pagbabago sa code pagkatapos ng mga pag-optimize ng compiler.
TANDAAN Maaari mo pa ring i-compile ang program na may naka-enable na pag-optimize (-O2 flag), na maaaring makatulong kung layunin mo ang pag-debug ng GPU assembly.
Maaari mong ipunin ang programa sa maraming paraan. Ang mga opsyon 1 at 2 ay gumagamit ng just-in-time (JIT) compilation, na inirerekomendang i-debug ang sample. Ang Opsyon 3 ay gumagamit ng ahead-of-time (AOT) compilation.
- Opsyon 1. Maaari mong gamitin ang CMake file upang i-configure at buuin ang application. Sumangguni sa README ng mga sample para sa mga tagubilin.
TANDAAN Ang CMake file binigay ng sampnaipasa na ni le ang -g -O0 na mga flag.
- Pagpipilian 2. Upang i-compile ang array-transform.cpp sample application nang walang CMake file, ilabas ang sumusunod na mga utos:
icpx -fsycl -g -O0 array-transform.cpp -o array-transform
Kung hiwalay na ginagawa ang compilation at linking, panatilihin ang mga flag -g -O0 sa hakbang ng link. Ang hakbang sa pag-link ay kapag isinalin ng icpx ang mga flag na ito na ipapasa sa compiler ng device sa runtime. Halample:
icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o array-transform
- Opsyon 3. Maaari mong gamitin ang AOT compilation upang maiwasan ang mas mahabang oras ng compilation ng JIT sa runtime. Ang JIT compilation ay maaaring tumagal nang malaki para sa malalaking kernel sa ilalim ng debugger. Upang gamitin ang Ahead-of-Time compilation mode:
• Para sa pag-debug sa isang GPU:
Tukuyin ang aparato na iyong gagamitin para sa pagpapatupad ng programa. Para kay example, -device dg2-g10 para sa Intel® Data Center GPU Flex 140 Graphics. Para sa listahan ng mga sinusuportahang opsyon at higit pang impormasyon sa AOT compilation, sumangguni sa Intel® oneAPI DPC++ Compiler Developer Guide at Reference.
Para kay example:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs "-device dg2-g10" array-transform.cpp -o arraytransform
Ang maagang-ng-oras na compilation ay nangangailangan ng OpenCLTM Offline Compiler (OC Compiler LOC). Para sa karagdagang impormasyon, sumangguni sa seksyong "I-install ang OpenCLTM Offline Compiler (OCLOC)" ng Gabay sa Pag-install.
• Para sa pag-debug sa isang CPU:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform
Magsimula ng Debug Session
Simulan ang sesyon ng pag-debug:
1. Simulan ang Intel® Distribution para sa GDB* gaya ng sumusunod:
gdb-oneapi array-transform
Dapat mong makita ang (gdb) prompt.
2. Upang matiyak na ang kernel ay na-offload sa tamang device, gawin ang mga sumusunod na hakbang. Kapag pinaandar mo ang run command mula sa (gdb) prompt, ipasa ang cpu, gpu or accelerator argumento:
- Para sa pag-debug sa CPU:
patakbuhin ang cpu
Exampang output:
[SYCL] Gamit ang device: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] mula sa [Intel(R) OpenCL]- Para sa pag-debug sa GPU:
tumakbo ng gpu
Exampang output:
[SYCL] Gamit ang device: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] mula sa [Intel(R) LevelZero]- Para sa pag-debug sa FPGA-emulator:
patakbuhin ang accelerator
Exampang output:
[SYCL] Gamit ang device: [Intel(R) FPGA Emulation Device] mula sa [Intel(R) FPGA Emulation Platform para sa OpenCL(TM) software]TANDAAN Ang mga parameter ng cpu, gpu, at accelerator ay partikular sa application ng Array Transform.
3. Para umalis sa Intel® Distribution para sa GDB*:
huminto
Para sa iyong kaginhawahan, ang mga karaniwang Intel® Distribution para sa GDB* na mga utos ay ibinibigay sa Sanggunian Sheet.
Upang i-debug ang Array Transform sampat matuto pa tungkol sa Intel® Distribution para sa GDB*, maglakad sa mga pangunahing sitwasyon sa pag-debug gamit ang Tutorial.
Matuto pa
Dokumento | Paglalarawan |
Tutorial: Pag-debug gamit ang Intel® Distribution para sa GDB* | Inilalarawan ng dokumentong ito ang mga pangunahing senaryo na dapat sundin habang nagde-debug sa SYCL* at OpenCL gamit ang Intel® Distribution para sa GDB*. |
Intel® Distribution para sa GDB* User Guide | Inilalarawan ng dokumentong ito ang lahat ng karaniwang gawain na maaari mong kumpletuhin sa Intel® Distribution para sa GDB* at nagbibigay ng mga kinakailangang teknikal na detalye. |
Mga Tala sa Paglabas ng Intel® Distribution para sa GDB* | Ang mga tala ay naglalaman ng impormasyon tungkol sa mga pangunahing kakayahan, mga bagong feature, at mga kilalang isyu ng Intel® Distribution para sa GDB*. |
Pahina ng Produkto ng oneAPI | Ang pahinang ito ay naglalaman ng maikling panimula sa oneAPI toolkit at mga link sa mga kapaki-pakinabang na mapagkukunan. |
Intel® Distribution para sa GDB* Reference Sheet | Ang isang pahinang dokumentong ito ay maikling naglalarawan ng Intel® Distribution para sa GDB* na mga kinakailangan at kapaki-pakinabang na mga utos. |
Jacobi Sample | Ang maliit na SYCL* application na ito ay may dalawang bersyon: bugged at fixed. Gamitin ang sample na magsagawa ng pag-debug ng application gamit ang Intel® Distribution para sa GDB*. |
Mga Paunawa at Disclaimer
Ang mga teknolohiyang Intel ay maaaring mangailangan ng pag-activate ng hardware, software o serbisyo.
Walang produkto o bahagi ang maaaring maging ganap na ligtas.
Ang iyong mga gastos at resulta ay maaaring magkakaiba.
© Intel Corporation. Ang Intel, ang logo ng Intel, at iba pang mga marka ng Intel ay mga trademark ng Intel Corporation o mga subsidiary nito. Maaaring i-claim ang ibang mga pangalan at brand bilang pag-aari ng iba.
Walang lisensya (ipahayag o ipinahiwatig, sa pamamagitan ng estoppel o kung hindi man) sa anumang mga karapatan sa intelektwal na ari-arian ang ibinibigay ng dokumentong ito.
Ang mga produktong inilarawan ay maaaring naglalaman ng mga depekto sa disenyo o mga error na kilala bilang errata na maaaring maging sanhi ng paglihis ng produkto mula sa mga nai-publish na mga detalye. Available ang kasalukuyang characterized errata kapag hiniling.
Tinatanggihan ng Intel ang lahat ng ipinahayag at ipinahiwatig na mga warranty, kabilang ang walang limitasyon, ang mga ipinahiwatig na warranty ng kakayahang maikalakal, pagiging angkop para sa isang partikular na layunin, at hindi paglabag, pati na rin ang anumang warranty na nagmumula sa kurso ng pagganap, kurso ng pakikitungo, o paggamit sa kalakalan.
Ang OpenCL at ang OpenCL logo ay mga trademark ng Apple Inc. na ginamit nang may pahintulot ni Khronos.
Mga Dokumento / Mga Mapagkukunan
![]() |
intel Distribution para sa GDB sa Linux OS Host [pdf] Gabay sa Gumagamit Pamamahagi para sa GDB sa Linux OS Host, GDB sa Linux OS Host, Linux OS Host, OS Host, Host |