Mulai Intel® Distribution untuk GDB* di Host OS Linux*

Mulai gunakan Intel® Distribution untuk GDB* untuk men-debug aplikasi. Ikuti instruksi di bawah ini untuk menyiapkan debugger untuk men-debug aplikasi dengan kernel yang dipindahkan ke perangkat CPU dan GPU.

Intel® Distribution untuk GDB* tersedia sebagai bagian dari Intel® oneAPI Base Toolkit. Untuk informasi lebih lanjut tentang toolkit oneAPI, kunjungi halaman produk.

Kunjungi Catatan Rilis halaman untuk informasi tentang kemampuan utama, fitur baru, dan masalah umum.

Anda dapat menggunakan SYCL* sampkode file, Transformasi Array, untuk memulai Distribusi Intel® untuk GDB*. sample tidak menghasilkan kesalahan dan hanya mengilustrasikan fitur debugger. Kode memproses elemen array input tergantung pada apakah mereka genap atau ganjil dan menghasilkan array output. Anda dapat menggunakan sample untuk melakukan debug pada CPU atau GPU, menentukan perangkat yang dipilih melalui argumen baris perintah. Namun perlu diperhatikan bahwa proses debug GPU mungkin memerlukan dua sistem dan konfigurasi tambahan untuk proses debug jarak jauh.

Prasyarat

Jika Anda ingin melakukan debug pada GPU, instal driver GPU terbaru dan konfigurasikan sistem Anda untuk menggunakannya. Mengacu kepada Panduan Instalasi Intel® oneAPI Toolkit untuk OS Linux*. Ikuti petunjuk Instal Driver GPU Intel untuk menginstal driver GPU yang cocok dengan sistem Anda.

Selain itu, Anda dapat menginstal ekstensi untuk Visual Studio Code* untuk melakukan debug GPU dengan Intel® Distribution untuk GDB*. Mengacu kepada Menggunakan Visual Studio Code dengan Panduan Toolkit Intel® oneAPI.

Siapkan Debugger GPU

Untuk mengatur debugger GPU, Anda harus memiliki akses root.


CATATAN Selama proses debug kernel, GPU dihentikan dan output video tidak tersedia di mesin target Anda. Oleh karena itu, Anda tidak dapat men-debug GPU dari sistem target jika kartu GPU sistem juga digunakan untuk output grafis. Dalam hal ini, sambungkan ke mesin melalui ssh.


1. Jika Anda ingin melakukan debug pada GPU, diperlukan Kernel Linux yang mendukung debugging GPU.

a. Ikuti petunjuk di Perangkat lunak Intel® untuk kemampuan GPU tujuan umum untuk mengunduh dan menginstal driver yang diperlukan.
b. Aktifkan dukungan debug i915 di Kernel:

a. Buka terminal.
b. Buka grubnya file di /etc/default.
c. Di grub file, cari baris GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Masukkan teks berikut di antara tanda kutip (“”):

i915.debug_eu=1


CATATAN Secara default, driver GPU tidak mengizinkan beban kerja dijalankan pada GPU lebih lama dari jangka waktu tertentu. Pengemudi menghentikan beban kerja yang berjalan lama dengan mengatur ulang GPU untuk mencegah hang. Mekanisme hangcheck driver dinonaktifkan jika aplikasi berjalan di bawah debugger. Jika Anda berencana untuk menjalankan beban kerja komputasi yang panjang juga tanpa memasang debugger, pertimbangkan untuk menerapkannya GPU: Nonaktifkan Hangcheck dengan menambahkan

i915.aktifkan_hangcheck=0

sama saja Baris GRUB_CMDLINE_LINUX_DEFAULT.

c. Perbarui GRUB agar perubahan ini diterapkan:

sudo perbarui-grub

d. Menyalakan ulang.

2. Siapkan lingkungan CLI Anda dengan mengambil sumber skrip setvars yang terletak di akar instalasi toolkit Anda.

Linux (sudo):

sumber /opt/intel/oneapi/setvars.sh

Linux (pengguna):

sumber ~/intel/oneapi/setvars.sh

3. Lingkungan pengaturan
Gunakan variabel lingkungan berikut untuk mengaktifkan dukungan debugger untuk Intel® oneAPI Level Zero:

ekspor ZET_ENABLE_PROGRAM_DEBUGGING=1
ekspor IGC_EnableGTLocationDebugging=1

4. Pemeriksaan sistem
Jika semuanya sudah siap, silakan jalankan perintah berikut untuk mengonfirmasi bahwa konfigurasi sistem dapat diandalkan:

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

Kemungkinan keluaran dari sistem yang dikonfigurasi dengan baik adalah sebagai berikut:


Hasil pemeriksaan:
==================== ================
Periksa nama: debugger_sys_check
Deskripsi: Pemeriksaan ini memverifikasi apakah lingkungan siap menggunakan gdb (Distribusi Intel(R) untuk GDB*).
Status hasil: LULUS
Debugger ditemukan.
lilipt ditemukan.
libiga ditemukan.
debug i915 diaktifkan.
Variabel lingkungan benar. ==================== ________________________________

1 PERIKSA: 1 LULUS, 0 GAGAL, ​​0 PERINGATAN, 0 KESALAHAN

Keluaran konsol file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt keluaran JSON file: /path/ke/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Kompilasi Program dengan Informasi Debug

Anda dapat menggunakan sample proyek, Array Transform, untuk memulai debugger aplikasi dengan cepat.

1. Untuk mendapatkan sample, pilih salah satu cara berikut:

2. Arahkan ke src dari sampproyek:

cd transformasi array/src

3. Kompilasi aplikasi dengan mengaktifkan info debug (-g flag) dan mematikan optimasi (-O0 flag).
Menonaktifkan pengoptimalan disarankan untuk lingkungan debug yang stabil dan akurat. Hal ini membantu menghindari kebingungan yang disebabkan oleh perubahan kode setelah optimasi kompiler.


CATATAN Anda masih dapat mengkompilasi program dengan optimasi diaktifkan (tanda -O2), yang dapat berguna jika Anda bertujuan untuk melakukan debug perakitan GPU.


Anda dapat mengkompilasi program dengan beberapa cara. Opsi 1 dan 2 menggunakan kompilasi just-in-time (JIT), yang direkomendasikan untuk men-debug sample. Opsi 3 menggunakan kompilasi sebelumnya (AOT).

  • Opsi 1. Anda dapat menggunakan CMake file untuk mengkonfigurasi dan membangun aplikasi. Mengacu kepada BACA JUGA dari sample untuk instruksinya.

CATATAN CMake file dilengkapi dengan sample sudah melewati flag -g -O0.


  • Opsi 2. Untuk mengkompilasi array-transform.cpp sample aplikasi tanpa CMake file, keluarkan perintah berikut:

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

Jika kompilasi dan penautan dilakukan secara terpisah, pertahankan tanda -g -O0 pada langkah tautan. Langkah tautannya adalah ketika icpx menerjemahkan tanda-tanda ini untuk diteruskan ke kompiler perangkat saat runtime. Mantanampsaya:

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

  • Opsi 3. Anda dapat menggunakan kompilasi AOT untuk menghindari waktu kompilasi JIT yang lebih lama saat runtime. Kompilasi JIT bisa memakan waktu lebih lama untuk kernel besar yang berada di bawah debugger. Untuk menggunakan mode kompilasi Ahead-of-Time:

• Untuk melakukan debug pada GPU:
Tentukan perangkat yang akan Anda gunakan untuk eksekusi program. Misalnyaample, -device dg2-g10 untuk Intel® Data Center GPU Flex 140 Graphics. Untuk daftar opsi yang didukung dan informasi lebih lanjut tentang kompilasi AOT, lihat Panduan dan Referensi Pengembang Intel® oneAPI DPC++ Compiler.
Misalnyaampsaya:

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

Kompilasi sebelumnya memerlukan OpenCLTM Offline Compiler (OC Compiler LOC). Untuk informasi lebih lanjut, lihat bagian “Instal OpenCLTM Offline Compiler (OCLOC)” dari Panduan Instalasi.

• Untuk debugging pada CPU:

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

Mulai Sesi Debug

Mulai sesi debug:

1. Mulai Intel® Distribution untuk GDB* sebagai berikut:

transformasi array gdb-oneapi

Anda akan melihat perintah (gdb).

2. Untuk memastikan bahwa kernel dipindahkan ke perangkat yang tepat, lakukan langkah-langkah berikut. Saat Anda menjalankan perintah run dari prompt (gdb), teruskan prosesor, GPU or akselerator argumen:

  • Untuk debugging pada CPU:

menjalankan CPU

Exampkeluaran:

[SYCL] Menggunakan perangkat: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] dari [Intel(R) OpenCL]
  • Untuk debugging pada GPU:

jalankan GPU

Exampkeluaran:

[SYCL] Menggunakan perangkat: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] dari [Intel(R) LevelZero]
  • Untuk debugging pada emulator FPGA:

menjalankan akselerator

Exampkeluaran:

[SYCL] Menggunakan perangkat: [Intel(R) FPGA Emulation Device] dari [Intel(R) FPGA Emulation Platform untuk perangkat lunak OpenCL(TM)]

CATATAN Parameter cpu, gpu, dan akselerator khusus untuk aplikasi Array Transform.


3. Untuk keluar dari Distribusi Intel® untuk GDB*:

berhenti

Demi kenyamanan Anda, perintah umum Intel® Distribution untuk GDB* disediakan di Lembar Referensi.

Untuk men-debug Array Transform sample dan pelajari lebih lanjut tentang Intel® Distribution untuk GDB*, telusuri skenario debugging dasar menggunakan Tutorial.

Pelajari lebih lanjut
Dokumen Keterangan
Tutorial: Men-debug dengan Intel® Distribution untuk GDB* Dokumen ini menjelaskan skenario dasar yang harus diikuti saat men-debug SYCL* dan OpenCL dengan Intel® Distribution for GDB*.
Panduan Pengguna Distribusi Intel® untuk GDB* Dokumen ini menjelaskan semua tugas umum yang dapat Anda selesaikan dengan Intel® Distribution for GDB* dan memberikan detail teknis yang diperlukan.
Catatan Rilis Distribusi Intel® untuk GDB* Catatan tersebut berisi informasi tentang kemampuan utama, fitur baru, dan masalah umum Intel® Distribution for GDB*.
Halaman Produk oneAPI Halaman ini berisi pengantar singkat tentang toolkit oneAPI dan tautan ke sumber daya yang berguna.
Lembar Referensi Distribusi Intel® untuk GDB* Dokumen satu halaman ini menjelaskan secara singkat prasyarat Intel® Distribution untuk GDB* dan perintah yang berguna.
Jacobi Sample Aplikasi SYCL* kecil ini memiliki dua versi: disadap dan diperbaiki. Gunakan sampfile untuk menjalankan debug aplikasi dengan Intel® Distribution for GDB*.
Pemberitahuan dan Penafian

Teknologi Intel mungkin memerlukan perangkat keras, perangkat lunak, atau aktivasi layanan yang diaktifkan.

Tidak ada produk atau komponen yang benar-benar aman.

Biaya dan hasil Anda mungkin berbeda.

© Perusahaan Intel. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Nama dan merek lain dapat diklaim sebagai milik orang lain.

Tidak ada lisensi (tersurat maupun tersirat, berdasarkan estoppel atau lainnya) terhadap hak kekayaan intelektual apa pun yang diberikan oleh dokumen ini.

Produk yang dijelaskan mungkin mengandung cacat desain atau kesalahan yang dikenal sebagai errata yang dapat menyebabkan produk menyimpang dari spesifikasi yang dipublikasikan. Errata yang dijelaskan saat ini tersedia berdasarkan permintaan.

Intel menafikan semua jaminan tersurat dan tersirat, termasuk tanpa batasan, jaminan tersirat atas kelayakan jual, kesesuaian untuk tujuan tertentu, dan non-pelanggaran, serta jaminan apa pun yang timbul dari pelaksanaan kinerja, pelaksanaan transaksi, atau penggunaan dalam perdagangan.

OpenCL dan logo OpenCL adalah merek dagang Apple Inc. yang digunakan dengan izin Khronos.

Dokumen / Sumber Daya

Distribusi intel untuk GDB di Host OS Linux [Bahasa Indonesia:] Panduan Pengguna
Distribusi untuk GDB di Host OS Linux, GDB di Host OS Linux, Host OS Linux, Host OS, Host

Referensi

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *