Pagsugod sa Intel® Distribution para sa GDB* sa Linux* OS Host
Sugdi gamit ang Intel® Distribution para sa GDB* para sa mga aplikasyon sa pag-debug. Sunda ang mga instruksyon sa ubos aron i-set up ang debugger sa pag-debug sa mga aplikasyon nga adunay mga kernel nga na-offload sa CPU ug GPU nga mga device.
Ang Intel® Distribution para sa GDB* anaa isip kabahin sa Intel® oneAPI Base Toolkit. Para sa dugang nga impormasyon sa oneAPI toolkits, bisitaha ang panid sa produkto.
Bisitaha ang Release Notes panid alang sa kasayuran bahin sa mga yawe nga kapabilidad, bag-ong mga bahin, ug nahibal-an nga mga isyu.
Mahimo nimong gamiton ang SYCL* sample code, Array Transform, aron makasugod sa Intel® Distribution para sa GDB*. Ang sampAng le dili makamugna og mga sayup ug yano nga naghulagway sa mga bahin sa debugger. Ang kodigo nagproseso sa mga elemento sa input array depende kung parehas ba kini o katingad-an ug makagama ug output array. Mahimo nimong gamiton ang sample sa pag-debug sa CPU o GPU, nga nagtino sa pinili nga device pinaagi sa argumento sa command line. Hinumdomi nga ang pag-debug sa GPU mahimong magkinahanglan og duha ka sistema ug dugang nga pag-configure alang sa hilit nga pag-debug.
Mga kinahanglanon
Kung gusto nimo nga i-debug ang GPU, i-install ang pinakabag-o nga mga driver sa GPU ug i-configure ang imong sistema aron magamit kini. Tan-awa ang Giya sa Pag-install sa Intel® oneAPI Toolkits para sa Linux* OS. Sunda ang mga instruksyon I-install ang Intel GPU Drivers aron i-install ang mga drayber sa GPU nga katumbas sa imong sistema.
Dugang pa, mahimo nimong i-install ang extension para sa Visual Studio Code* para sa pag-debug sa GPU gamit ang Intel® Distribution para sa GDB*. Tan-awa ang Paggamit sa Visual Studio Code uban sa Intel® oneAPI Toolkits Guide.
I-set up ang GPU Debugger
Aron ma-set up ang GPU debugger, kinahanglan nga adunay ka access sa gamut.
NOTA Atol sa kernel debugging, ang GPU gipahunong ug ang video output dili magamit sa imong target nga makina. Tungod niini, dili nimo ma-debug ang GPU gikan sa target nga sistema kung ang GPU card sa sistema gigamit usab alang sa graphical nga output. Sa kini nga kaso, pagkonektar sa makina pinaagi sa ssh.
1. Kung gitumong nimo ang pag-debug sa GPU, gikinahanglan ang Linux Kernel nga nagsuporta sa pag-debug sa GPU.
a. Sunda ang mga instruksyon sa Intel® software alang sa kinatibuk-ang katuyoan sa mga kapabilidad sa GPU sa pag-download ug pag-instalar sa gikinahanglan nga mga drayber.
b. I-enable ang suporta sa i915 debug sa Kernel:
a. Ablihi ang usa ka terminal.
b. Ablihi ang grub file sa /etc/default.
c. Sa grub file, pangitaa ang linya nga GRUB_CMDLINE_LINUX_DEFAULT="".
d. Pagsulod sa mosunod nga teksto taliwala sa mga kinutlo (“”):
i915.debug_eu=1
NOTA Sa kasagaran, ang drayber sa GPU dili motugot sa mga workloads nga modagan sa usa ka GPU nga mas dugay kay sa usa ka gidugayon nga panahon. Gipatay sa drayber ang dugay na nga mga karga sa trabaho pinaagi sa pag-reset sa GPU aron malikayan ang pagbitay. Ang mekanismo sa pag-hangcheck sa drayber gi-disable kung ang aplikasyon nagdagan sa ilawom sa debugger. Kung nagplano ka nga magpadagan ug taas nga pag-compute sa mga workload nga wala’y gilakip nga debugger, hunahunaa ang pag-apply GPU: I-disable ang Hangcheck pinaagi sa pagdugang
i915.enable_hangcheck=0
sa parehas GRUB_CMDLINE_LINUX_DEFAULT linya.
c. I-update ang GRUB para kini nga mga pagbag-o matuman:
sudo update-grub
d. Pag-reboot.
2. I-set up ang imong CLI environment pinaagi sa pagkuha sa setvars script nga nahimutang sa gamut sa imong toolkit installation.
Linux (sudo):
tinubdan /opt/intel/oneapi/setvars.sh
Linux (gumagamit):
tinubdan ~/intel/oneapi/setvars.sh
3. I-setup ang palibot
Gamita ang mosunod nga mga variable sa palibot aron mahimo ang suporta sa debugger alang sa Intel® oneAPI Level Zero:
export ZET_ENABLE_PROGRAM_DEBUGGING=1
export IGC_EnableGTLocationDebugging=1
4. Pagsusi sa sistema
Kung andam na ang tanan, palihug padagana ang mosunud nga mando aron makumpirma nga kasaligan ang pagsumpo sa sistema:
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force
Ang usa ka posible nga output sa usa ka maayong pagka-configure nga sistema mao ang mosunod:
…
Mga resulta sa pagsusi:
=================================================== ===============================
Susiha ang ngalan: debugger_sys_check
Deskripsyon: Kini nga tseke nagpamatuod kung ang palibot andam na ba nga mogamit sa gdb (Intel(R) Distribution para sa GDB*).
Status sa resulta: PASS
Debugger nakit-an.
libipt nakit-an.
libiga nakit-an.
Ang i915 debug gi-enable.
Ang mga variable sa kinaiyahan husto. =================================================== =================================
1 CHECK: 1 PASS, 0 FAIL, 0 WARNINGS, 0 ERRORS
Output sa 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 …
Pagtipon sa Programa nga adunay Impormasyon sa Debug
Mahimo nimong gamiton ang sampAng proyekto, Array Transform, aron makasugod dayon sa debugger sa aplikasyon.
1. Aron makuha ang sample, pilia ang bisan unsa sa mosunod nga mga paagi:
- Gamita ang oneAPI CLI Samples Browser aron mapili ang Array Transform gikan sa kategorya nga Pagsugod.
- I-download gikan sa GitHub*.
2. Pagdala ngadto sa src sa sampang proyekto:
cd array-transform/src
3. I-compile ang aplikasyon pinaagi sa pagpagana sa debug info (-g flag) ug pagpalong sa optimizations (-O0 flag).
Girekomenda ang pag-disable sa pag-optimize alang sa usa ka lig-on ug tukma nga palibot sa pag-debug. Makatabang kini aron malikayan ang kalibog tungod sa mga pagbag-o sa code pagkahuman sa pag-optimize sa compiler.
NOTA Mahimo gihapon nimo nga i-compile ang programa nga adunay optimization enabled (-O2 flag), nga makatabang kung imong tumong ang GPU assembly debugging.
Mahimo nimong kolektahon ang programa sa daghang mga paagi. Ang mga opsyon 1 ug 2 naggamit sa just-in-time (JIT) compilation, nga girekomendar sa pag-debug sa sample. Ang opsyon 3 naggamit sa ahead-of-time (AOT) compilation.
- Opsyon 1. Mahimo nimong gamiton ang CMake file aron ma-configure ug matukod ang aplikasyon. Tan-awa ang BASAHA KO sa mga sample para sa mga panudlo.
NOTA Ang CMake file gihatag uban sa sampGipasa na ni le ang -g -O0 nga mga bandera.
- Opsyon 2. Sa pag-compile sa array-transform.cpp sampAng aplikasyon nga wala ang CMake file, ipagawas ang mosunod nga mga sugo:
icpx -fsycl -g -O0 array-transform.cpp -o array-transform
Kung ang pag-compile ug pag-link gihimo nga gilain, ipadayon ang -g -O0 nga mga bandila sa lakang sa link. Ang lakang sa pag-link mao kung gihubad sa icpx kini nga mga bandila nga ipasa sa compiler sa aparato sa oras sa pagdagan. Example:
icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o array-transform
- Opsyon 3. Mahimo nimong gamiton ang AOT compilation aron malikayan ang mas taas nga JIT compilation times sa runtime. Ang JIT compilation mahimong mas dugay alang sa dagkong mga kernel ubos sa debugger. Aron magamit ang Ahead-of-Time compilation mode:
• Alang sa pag-debug sa usa ka GPU:
Tinoa ang aparato nga imong gamiton alang sa pagpatuman sa programa. Kay example, -device dg2-g10 alang sa Intel® Data Center GPU Flex 140 Graphics. Para sa lista sa gisuportahan nga mga opsyon ug dugang impormasyon sa AOT compilation, tan-awa ang Intel® oneAPI DPC++ Compiler Developer Guide ug Reference.
Kay example:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs "-device dg2-g10" array-transform.cpp -o arraytransform
Ang ahead-of-Time compilation nagkinahanglan sa OpenCLTM Offline Compiler (OC Compiler LOC). Para sa dugang nga impormasyon, tan-awa ang seksyon nga “Install OpenCLTM Offline Compiler (OCLOC)” sa Giya sa Pag-instalar.
• Alang sa pag-debug sa usa ka CPU:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform
Pagsugod ug Debug Session
Sugdi ang sesyon sa pag-debug:
1. Sugdi ang Intel® Distribution para sa GDB* ingon sa mosunod:
gdb-oneapi array-transform
Kinahanglan nimong makita ang (gdb) prompt.
2. Aron masiguro nga ang kernel na-offload sa husto nga aparato, buhata ang mosunod nga mga lakang. Kung imong ipatuman ang run command gikan sa (gdb) prompt, ipasa ang cpu, gpu or accelerator argumento:
- Alang sa pag-debug sa CPU:
dagan cpu
Exampang output:
[SYCL] Gamit ang device: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] gikan sa [Intel(R) OpenCL]- Alang sa pag-debug sa GPU:
dagan gpu
Exampang output:
[SYCL] Gamit ang device: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] gikan sa [Intel(R) LevelZero]- Alang sa pag-debug sa FPGA-emulator:
modagan accelerator
Exampang output:
[SYCL] Gamit ang device: [Intel(R) FPGA Emulation Device] gikan sa [Intel(R) FPGA Emulation Platform para sa OpenCL(TM) software]NOTA Ang mga parameter sa cpu, gpu, ug accelerator espesipiko sa aplikasyon sa Array Transform.
3. Sa pag-undang sa Intel® Distribution para sa GDB*:
moundang
Para sa imong kasayon, ang komon nga Intel® Distribution para sa GDB* nga mga sugo gihatag sa Reference Sheet.
Aron ma-debug ang Array Transform sampug pagkat-on og dugang mahitungod sa Intel® Distribution para sa GDB*, paglakaw sa mga batakang mga senaryo sa pag-debug gamit ang Tutorial.
Pagkat-on pa
Dokumento | Deskripsyon |
Tutorial: Pag-debug gamit ang Intel® Distribution para sa GDB* | Kini nga dokumento naghulagway sa batakang mga senaryo nga sundon samtang nag-debug sa SYCL* ug OpenCL nga adunay Intel® Distribution para sa GDB*. |
Intel® Distribution para sa GDB* Giya sa Gumagamit | Kini nga dokumento naghulagway sa tanang komon nga buluhaton nga imong makompleto sa Intel® Distribution para sa GDB* ug naghatag sa gikinahanglang teknikal nga mga detalye. |
Intel® Distribution para sa GDB* Release Notes | Ang mga nota adunay impormasyon bahin sa importanteng kapabilidad, bag-ong feature, ug nailhang isyu sa Intel® Distribution for GDB*. |
oneAPI Product Page | Kini nga panid adunay mubo nga pasiuna sa oneAPI toolkits ug mga link sa mapuslanon nga mga kapanguhaan. |
Intel® Distribution para sa GDB* Reference Sheet | Kining usa ka panid nga dokumento mubo nga naghulagway sa Intel® Distribution para sa GDB* nga mga kinahanglanon ug mapuslanong mga sugo. |
Jacobi Sample | Kining gamay nga SYCL* nga aplikasyon adunay duha ka bersiyon: bugted ug fixed. Gamita ang samparon magamit ang pag-debug sa aplikasyon gamit ang Intel® Distribution para sa GDB*. |
Mga Notice ug Disclaimers
Ang mga teknolohiyang Intel mahimong manginahanglan aktibo nga hardware, software o pag-aktibo sa serbisyo.
Wala’y produkto o sangkap nga mahimong hingpit nga sigurado.
Mahimong magkalainlain ang imong mga gasto ug mga sangputanan.
© Intel Corporation. Ang Intel, ang logo sa Intel, ug uban pang mga marka sa Intel mga marka sa pamatigayon sa Intel Corporation o mga subsidiary niini. Ang ubang mga ngalan ug mga tatak mahimong maangkon ingon nga kabtangan sa uban.
Walay lisensya (gipahayag o gipasabot, pinaagi sa estoppel o uban pa) sa bisan unsang mga katungod sa intelektwal nga kabtangan ang gihatag niini nga dokumento.
Ang mga produkto nga gihulagway mahimong adunay mga depekto sa disenyo o mga sayup nga nailhan nga errata nga mahimong hinungdan sa pagtipas sa produkto gikan sa gipatik nga mga detalye. Ang kasamtangan nga kinaiya nga sayop anaa sa hangyo.
Gipanghimakak sa Intel ang tanang gipahayag ug gipasabot nga mga garantiya, lakip ang walay limitasyon, ang gipasabot nga mga garantiya sa pagkahimong mamaligya, kaangayan alang sa usa ka partikular nga katuyoan, ug dili paglapas, ingon man ang bisan unsang garantiya nga naggikan sa dagan sa pasundayag, dagan sa pagdumala, o paggamit sa pamatigayon.
Ang OpenCL ug ang OpenCL logo kay mga marka sa pamatigayon sa Apple Inc. nga gigamit pinaagi sa pagtugot ni Khronos.
Mga Dokumento / Mga Kapanguhaan
![]() |
intel Distribution para sa GDB sa Linux OS Host [pdf] Giya sa Gumagamit Pag-apod-apod alang sa GDB sa Linux OS Host, GDB sa Linux OS Host, Linux OS Host, OS Host, Host |