Mimitian ku Intel® Distribution for GDB* on Linux* OS Host

Mimiti nganggo Intel® Distribution for GDB* pikeun aplikasi debugging. Turutan parentah di handap pikeun nyetél debugger pikeun debug aplikasi kalawan kernels offloaded kana CPU jeung alat GPU.

Intel® Distribution for GDB* sayogi salaku bagian tina Intel® oneAPI Base Toolkit. Kanggo inpo nu langkung lengkep ihwal oneAPI toolkits, mangga buka kaca produk.

Nganjang ka Catetan Kaluaran halaman pikeun inpormasi ngeunaan kamampuan konci, fitur anyar, sareng masalah anu dipikanyaho.

Anjeun tiasa nganggo SYCL * sampkode, Array Transform, pikeun ngamimitian kalawan Intel® Distribusi pikeun GDB *. The sample teu ngahasilkeun kasalahan sarta saukur illustrates fitur debugger. Kode ngolah elemen tina Asép Sunandar Sunarya input gumantung kana naha maranéhna genap atawa ganjil sarta ngahasilkeun hiji Asép Sunandar Sunarya kaluaran. Anjeun tiasa nganggo sample mun debug on duanana CPU atawa GPU, nangtukeun alat nu dipilih ngaliwatan argumen garis paréntah. Catet yén debugging GPU butuh dua sistem sareng konfigurasi tambahan pikeun debugging jauh.

Prasyarat

Upami anjeun badé nga-debug dina GPU, pasang panggerak GPU panganyarna sareng konpigurasikeun sistem anjeun pikeun ngagunakeunana. Rujuk kana Intel® oneAPI Toolkits Pituduh Instalasi pikeun Linux* OS. Turutan parentah Pasang Panggerak Intel GPU pikeun masang panggerak GPU anu cocog sareng sistem anjeun.

Salaku tambahan, anjeun tiasa masang ekstensi pikeun Visual Studio Code * pikeun debugging GPU nganggo Intel® Distribution for GDB*. Rujuk kana Ngagunakeun Visual Studio Code kalawan Intel® oneAPI Toolkits Guide.

Nyetél GPU Debugger

Pikeun nyetél debugger GPU, anjeun kedah gaduh aksés root.


CATETAN Salila debugging kernel, GPU dihentikan sareng kaluaran pidéo henteu sayogi dina mesin target anjeun. Kusabab ieu, anjeun moal tiasa debug GPU tina sistem target upami kartu GPU sistem ogé dianggo pikeun kaluaran grafis. Dina hal ieu, sambungkeun ka mesin via ssh.


1. Upami anjeun badé debug dina GPU, Kernel Linux anu ngadukung debugging GPU diperyogikeun.

a. Turutan parentah di Parangkat lunak Intel® pikeun kamampuan GPU tujuan umum pikeun ngundeur tur masang panggerak diperlukeun.
b. Aktipkeun dukungan debug i915 dina Kernel:

a. Buka terminal.
b. Buka rungkun file dina /etc/standar.
c. Di gubrak file, panggihan garis GRUB_CMDLINE_LINUX_DEFAULT = "".
d. Lebetkeun téks di handap ieu antara tanda petik (“”):

i915.debug_eu=1


CATETAN Sacara standar, supir GPU henteu ngijinkeun beban kerja dijalankeun dina GPU anu langkung lami tibatan waktos anu tangtu. Supir maéhan beban kerja anu lami-lami ku ngareset GPU pikeun nyegah ngagantung. Mékanisme hangcheck supir ditumpurkeun upami aplikasi dijalankeun dina debugger. Upami anjeun badé ngajalankeun beban kerja komputasi anu panjang ogé tanpa napel debugger, pertimbangkeun ngalamar GPU: Pareuman Hangcheck ku nambahkeun

i915.enable_hangcheck=0

kana sami GRUB_CMDLINE_LINUX_DEFAULT baris.

c. Apdet GRUB pikeun parobihan ieu tiasa dianggo:

sudo update-grub

d. Reboot.

2. Nyetél lingkungan CLI anjeun ku sumber skrip setvars anu aya dina akar pamasangan toolkit anjeun.

Linux (sudo):

sumber /opt/intel/oneapi/setvars.sh

Linux (pamaké):

sumber ~/intel/oneapi/setvars.sh

3. Setup lingkungan
Pake variabel lingkungan di handap ieu pikeun ngaktipkeun rojongan debugger pikeun Intel® oneAPI Level Zero:

ékspor ZET_ENABLE_PROGRAM_DEBUGGING=1
ékspor IGC_EnableGTLocationDebugging=1

4. Pariksa sistem
Nalika sadayana tos siap, punten ngajalankeun paréntah di handap ieu pikeun mastikeun yén konfigurasi sistem tiasa dipercaya:

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

Kaluaran anu mungkin tina sistem anu dikonpigurasi saé nyaéta kieu:


Hasil mariksa:
=================================================== ==============================
Ngaran pariksa: debugger_sys_check
Katerangan: Cék ieu marios upami lingkungan siap dianggo gdb (Distribusi Intel (R) pikeun GDB *).
Status hasil: PASS
Debugger kapanggih.
libipt kapanggih.
libiga kapanggih.
i915 debug diaktipkeun.
Variabel lingkungan leres. =================================================== ===================================

1 CEK: 1 LULUS, 0 GAGAL, ​​0 PERHATOSAN, 0 KASALAHAN

Kaluaran konsol file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt kaluaran JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Kompilkeun Program sareng Émbaran Debug

Anjeun tiasa nganggo sampproyék le, Array Transform, pikeun gancang ngamimitian ku debugger aplikasi.

1. Pikeun meunangkeun sample, pilih salah sahiji cara di handap ieu:

2. Arahkeun ka src tina sampproyék:

cd Asép Sunandar Sunarya-transformasi / src

3. Kompilkeun aplikasi ku cara ngaktipkeun inpormasi debug (-g bandéra) sareng mareuman optimasi (-O0 bandéra).
Nonaktipkeun optimasi disarankeun pikeun lingkungan debug anu stabil sareng akurat. Ieu mantuan pikeun nyegah kabingungan disababkeun ku parobahan kode sanggeus optimizations compiler.


CATETAN Anjeun masih bisa compile program kalawan optimasi diaktipkeun (-O2 bandéra), nu bisa jadi mantuan mun anjeun Tujuan di GPU assembly debugging.


Anjeun tiasa nyusun program ku sababaraha cara. Pilihan 1 sareng 2 nganggo kompilasi just-in-time (JIT), anu disarankeun pikeun debug s.ample. Pilihan 3 ngagunakeun kompilasi sateuacanna (AOT).

  • Pilihan 1. Anjeun tiasa make CMake nu file pikeun ngonpigurasikeun sareng ngawangun aplikasi. Rujuk kana README tina sample pikeun parentah.

CATETAN The CMake file disadiakeun kalawan sample geus lulus -g -O0 bandéra.


  • Pilihan 2. Pikeun compile array-transform.cpp sample aplikasi tanpa CMake file, ngaluarkeun paréntah di handap ieu:

icpx -fsycl -g -O0 Asép Sunandar Sunarya-transform.cpp -o Asép Sunandar Sunarya-transform

Lamun kompilasi jeung linking dipigawé misah, tetep -g -O0 bandéra dina hambalan link. Léngkah link nyaéta nalika icpx narjamahkeun umbul-umbul ieu pikeun dikirimkeun ka kompiler alat dina waktos jalanna. Misalample:

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

  • Pilihan 3. Anjeun tiasa make kompilasi AOT ulah leuwih lila JIT kompilasi kali dina runtime. JIT kompilasi tiasa nyandak nyata leuwih lila pikeun kernels badag handapeun debugger nu. Pikeun ngagunakeun mode kompilasi sateuacanna:

• Pikeun debugging dina GPU:
Sebutkeun alat nu bakal Anjeun pake pikeun palaksanaan program. Pikeun example, -alat dg2-g10 pikeun Intel® Data Center GPU Flex 140 grafik. Pikeun daptar pilihan anu dirojong sareng inpormasi anu langkung lengkep ihwal kompilasi AOT, tingal Intel® oneAPI DPC ++ Compiler Panungtun pamekar jeung Rujukan.
Pikeun example:

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

Kompilasi Ahead-of-Time merlukeun OpenCLTM Offline Compiler (OC Compiler LOC). Kanggo inpo nu leuwih lengkep, tingal bagian "Pasang OpenCLTM Offline Compiler (OCLOC)" tina Guide instalasi.

• Pikeun debugging dina CPU a:

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

Mimitian sési debug

Mimitian sési debug:

1. Mimitian Distribusi Intel® pikeun GDB* sapertos kieu:

gdb-oneapi Asép Sunandar Sunarya-transformasi

Anjeun kedah ningali ajakan (gdb).

2. Pikeun mastikeun yén kernel dipareuman ka alat anu leres, laksanakeun léngkah-léngkah ieu. Lamun anjeun ngaéksekusi paréntah ngajalankeun ti (gdb) ajakan, lulus CPU, gpu or akselerator argumen:

  • Pikeun debugging dina CPU:

ngajalankeun cpu

Exampkaluaran:

[SYCL] Nganggo alat: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] ti [Intel(R) OpenCL]
  • Pikeun debugging dina GPU:

ngajalankeun gpu

Exampkaluaran:

[SYCL] Nganggo alat: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] ti [Intel(R) LevelZero]
  • Pikeun debugging dina FPGA-émulator:

ngajalankeun akselerator

Exampkaluaran:

[SYCL] Nganggo alat: [Intel(R) FPGA Emulation Device] ti [Intel(R) FPGA Emulation Platform pikeun software OpenCL(TM)]

CATETAN Parameter cpu, gpu, sareng akselerator khusus pikeun aplikasi Array Transform.


3. Pikeun kaluar tina Intel® Distribution for GDB*:

kaluar

Pikeun genah anjeun, paréntah umum Intel® Distribusi pikeun GDB* disadiakeun dina Lembar Rujukan.

Pikeun debug Array Transform sample sarta leuwih jéntré ngeunaan Intel® Distribusi pikeun GDB *, leumpang ngaliwatan skenario debugging dasar ngagunakeun Tutorial.

Diajar deui
Dokumén Katerangan
Palajaran: Debugging sareng Intel® Distribution pikeun GDB* Dokumén ieu ngajelaskeun skénario dasar anu kedah diturutan nalika nga-debug SYCL* sareng OpenCL nganggo Intel® Distribution for GDB*.
Intel® Distribusi pikeun GDB * Guide pamaké Dokumén ieu ngajelaskeun sadaya pancén umum anu tiasa anjeun lengkep sareng Intel® Distribution pikeun GDB * sareng nyayogikeun detil téknis anu diperyogikeun.
Intel® Distribusi pikeun GDB * Catetan Release Catetan ngandung inpormasi ngeunaan kamampuan konci, fitur anyar, sareng masalah anu dipikanyaho ngeunaan Intel® Distribution for GDB*.
Page Produk oneAPI Kaca ieu ngandung bubuka ringkes ngeunaan toolkit oneAPI sareng tautan kana sumber anu mangpaat.
Distribusi Intel® pikeun GDB * Lembar Rujukan Dokumén hiji halaman ieu ngajelaskeun sakeudeung Intel® Distribusi pikeun GDB * prasyarat sareng paréntah anu mangpaat.
Jacobi Sample Aplikasi SYCL * leutik ieu ngagaduhan dua vérsi: bugged sareng tetep. Paké sample ka laksana aplikasi debugging kalawan Intel® Distribusi pikeun GDB *.
Bewara sareng Bantahan

Téknologi Intel tiasa ngabutuhkeun perkakas hardware, software atanapi aktivasina jasa.

Henteu aya produk atanapi komponén anu leres-leres aman.

Biaya sareng hasil anjeun tiasa rupa-rupa.

© Intel Corporation. Intel, logo Intel, sareng merek Intel sanés mangrupikeun mérek dagang Intel Corporation atanapi anak perusahaanna. Ngaran sareng merek sanésna tiasa diklaim salaku hak milik batur.

Henteu aya lisénsi (nyata atanapi tersirat, ku estoppel atanapi sanés) kana hak cipta intelektual anu dipasihkeun ku dokumén ieu.

Produk anu dijelaskeun tiasa ngandung cacad desain atanapi kasalahan anu katelah errata anu tiasa nyababkeun produk nyimpang tina spésifikasi anu diterbitkeun. errata dicirikeun ayeuna sadia on pamundut.

Intel ngabatalkeun sadaya jaminan anu nyata sareng tersirat, kalebet tanpa watesan, jaminan anu tersirat ngeunaan kamampuan dagang, kabugaran pikeun tujuan anu khusus, sareng henteu ngalanggar, ogé jaminan naon waé anu timbul tina pagelaran, jalanna transaksi, atanapi panggunaan dina perdagangan.

OpenCL jeung logo OpenCL mangrupakeun mérek dagang Apple Inc. dipaké ku idin Khronos.

Dokumén / Sumberdaya

intel Distribusi pikeun GDB dina Linux OS Host [pdf] Pituduh pamaké
Distribusi pikeun GDB on Linux OS Host, GDB on Linux OS Host, Linux OS Host, OS Host, Host

Rujukan

Ninggalkeun komentar

alamat surélék anjeun moal diterbitkeun. Widang diperlukeun ditandaan *