Linux* OS Host-da GDB* üçün Intel® Distribution ilə işə başlayın

Proqramların sazlanması üçün Intel® Distribution for GDB* istifadə etməyə başlayın. CPU və GPU cihazlarına yüklənmiş ləpələri olan proqramları sazlamaq üçün sazlayıcını qurmaq üçün aşağıdakı təlimatlara əməl edin.

Intel® Distribution for GDB* Intel® oneAPI Base Toolbar dəstinin bir hissəsi kimi mövcuddur. OneAPI alət dəstləri haqqında daha çox məlumat üçün ziyarət edin məhsul səhifəsi.

ziyarət edin Buraxılış qeydləri əsas imkanlar, yeni funksiyalar və məlum problemlər haqqında məlumat üçün səhifə.

Siz SYCL* s istifadə edə bilərsinizampGDB* üçün Intel® Distribution ilə başlamaq üçün Array Transform kodu. sample səhvlər yaratmır və sadəcə olaraq sazlama xüsusiyyətlərini göstərir. Kod giriş massivinin elementlərini onların cüt və ya tək olmasından asılı olaraq emal edir və çıxış massivi yaradır. s istifadə edə bilərsinizampkomanda xətti arqumenti vasitəsilə seçilmiş cihazı göstərərək həm CPU, həm də GPU-da debug etmək. Baxmayaraq ki, GPU-nun sazlanması iki sistem və uzaqdan sazlama üçün əlavə konfiqurasiya tələb edə bilər.

İlkin şərtlər

GPU-da debug etmək niyyətindəsinizsə, ən son GPU sürücülərini quraşdırın və sisteminizi onlardan istifadə etmək üçün konfiqurasiya edin. -a istinad edin Linux* ƏS üçün Intel® oneAPI Alət Dəstləri Quraşdırma Bələdçisi. Təlimatlara əməl edin Intel GPU Sürücülərini quraşdırın sisteminizə uyğun GPU sürücülərini quraşdırmaq üçün.

Əlavə olaraq, siz GDB* üçün Intel® Distribution ilə GPU-nu sazlamaq üçün Visual Studio Code* üçün genişləndirmə quraşdıra bilərsiniz. -a istinad edin Intel® oneAPI Alət dəstləri Bələdçisi ilə Visual Studio Kodundan istifadə.

GPU Sazlayıcısını quraşdırın

GPU sazlayıcısını qurmaq üçün kök girişiniz olmalıdır.


QEYD Kernel sazlama zamanı GPU dayandırılır və video çıxışı hədəf maşınınızda mövcud deyil. Buna görə, sistemin GPU kartı qrafik çıxış üçün də istifadə olunarsa, siz hədəf sistemdən GPU-nu sazlaya bilməzsiniz. Bu halda, ssh vasitəsilə maşına qoşulun.


1. Əgər GPU-da sazlamağı planlaşdırırsınızsa, GPU-nun sazlanmasını dəstəkləyən Linux Kernel lazımdır.

a. ünvanındakı təlimatlara əməl edin Ümumi təyinatlı GPU imkanları üçün Intel® proqramı lazımi sürücüləri yükləmək və quraşdırmaq üçün.
b. Kerneldə i915 sazlama dəstəyini aktivləşdirin:

a. Terminal açın.
b. Qrupu açın file /etc/default-da.
c. Qrupda file, GRUB_CMDLINE_LINUX_DEFAULT=”” xəttini tapın.
d. Sitatlar arasına aşağıdakı mətni daxil edin (“”):

i915.debug_eu=1


QEYD Varsayılan olaraq, GPU sürücüsü iş yüklərinin GPU-da müəyyən müddətdən artıq işləməsinə icazə vermir. Sürücü asılmaların qarşısını almaq üçün GPU-nu sıfırlayaraq bu cür uzunmüddətli iş yüklərini öldürür. Tətbiq sazlayıcının altında işləyirsə, sürücünün hangcheck mexanizmi deaktiv edilir. Əgər siz sazlayıcı əlavə edilmədən uzun hesablama iş yüklərini idarə etməyi planlaşdırırsınızsa, müraciət etməyi düşünün GPU: Hangcheck-i söndürün əlavə etməklə

i915.enable_hangcheck=0

eyni GRUB_CMDLINE_LINUX_DEFAULT xətti.

c. Bu dəyişikliklərin qüvvəyə minməsi üçün GRUB-u yeniləyin:

sudo update-grub

d. Yenidən başladın.

2. Alət dəstinizin quraşdırılmasının kökündə yerləşən setvars skriptini əldə etməklə CLI mühitinizi qurun.

Linux (sudo):

mənbə /opt/intel/oneapi/setvars.sh

Linux (istifadəçi):

mənbə ~/intel/oneapi/setvars.sh

3. Quraşdırma mühiti
Intel® oneAPI Level Zero üçün sazlama dəstəyini aktivləşdirmək üçün aşağıdakı mühit dəyişənlərindən istifadə edin:

ixrac ZET_ENABLE_PROGRAM_DEBUGGING=1
ixrac IGC_EnableGTLocationDebugging=1

4. Sistem yoxlanışı
Hər şey hazır olduqda, sistem konfiqurasiyasının etibarlı olduğunu təsdiqləmək üçün aşağıdakı əmri yerinə yetirin:

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

Yaxşı konfiqurasiya edilmiş sistemin mümkün çıxışı aşağıdakı kimidir:


Nəticələri yoxlayır:
==================================================== =================================
Yoxlama adı: debugger_sys_check
Təsvir: Bu yoxlama mühitin gdb (GDB üçün Intel(R) Distribution*) istifadə etməyə hazır olub olmadığını yoxlayır.
Nəticə statusu: PASS
Sazlayıcı tapıldı.
libipt tapıldı.
libiga tapıldı.
i915 debug aktivləşdirilib.
Ətraf mühit dəyişənləri düzgündür. ==================================================== ==================================

1 YOXLAYIN: 1 KEÇMƏ, 0 FAIL, 0 XƏBƏRDARLIQ, 0 XƏT

Konsol çıxışı file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON çıxışı file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Proqramı Sazlama Məlumatı ilə tərtib edin

s istifadə edə bilərsinizampTətbiq sazlayıcısına tez başlamaq üçün Array Transform layihəsi.

1. s almaq üçünample, aşağıdakı yollardan birini seçin:

2. s-nin src-yə keçinamplayihə:

cd array-transform/src

3. Sazlama məlumatını aktivləşdirməklə (-g bayrağı) və optimallaşdırmaları söndürməklə (-O0 bayrağı) tətbiqi tərtib edin.
Stabil və dəqiq sazlama mühiti üçün optimallaşdırmanın söndürülməsi tövsiyə olunur. Bu, kompilyatorun optimallaşdırılmasından sonra koda edilən dəyişikliklərin səbəb olduğu çaşqınlığın qarşısını almağa kömək edir.


QEYD Siz hələ də proqramı optimallaşdırmanı aktivləşdirərək (-O2 bayrağı) tərtib edə bilərsiniz, bu, GPU montajının sazlanmasını hədəfləsəniz faydalı ola bilər.


Proqramı bir neçə yolla tərtib edə bilərsiniz. Seçimlər 1 və 2-də tam zamanında (JIT) kompilyasiya istifadə olunur ki, bu da səhvləri aradan qaldırmaq üçün tövsiyə olunur.ample. Variant 3 vaxtından əvvəl (AOT) tərtibindən istifadə edir.

  • Seçim 1. Siz CMake-dən istifadə edə bilərsiniz file tətbiqi konfiqurasiya etmək və qurmaq üçün. -a istinad edin OXUYUN samptəlimatlar üçün.

QEYD CMake file s ilə təmin edilirample artıq -g -O0 bayraqlarını keçir.


  • Seçim 2. array-transform.cpp s kompilyasiya etməkampCMake olmadan proqram file, aşağıdakı əmrləri verin:

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

Əgər kompilyasiya və əlaqələndirmə ayrıca aparılırsa, keçid addımında -g -O0 bayraqlarını saxlayın. Bağlantı addımı icpx bu bayraqları işləmə zamanı cihazın kompilyatoruna ötürmək üçün tərcümə etdiyi zamandır. Məsample:

icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o massiv-çevir

  • Variant 3. İş vaxtında daha uzun JIT tərtib müddətinin qarşısını almaq üçün AOT tərtibindən istifadə edə bilərsiniz. JIT kompilyasiyası sazlayıcı altında böyük ləpələr üçün əhəmiyyətli dərəcədə daha uzun çəkə bilər. Vaxtından əvvəl tərtib etmə rejimindən istifadə etmək üçün:

• GPU-da sazlama üçün:
Proqramın icrası üçün istifadə edəcəyiniz cihazı göstərin. məsələnample, -Intel® Data Center GPU Flex 2 Graphics üçün cihaz dg10-g140. Dəstəklənən seçimlərin siyahısı və AOT tərtibi haqqında daha çox məlumat üçün baxın Intel® oneAPI DPC++ Kompilyator Təlimatı və İstinad.
məsələnample:

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

Vaxtından əvvəl tərtib etmək üçün OpenCLTM Offline Compiler (OC Compiler LOC) tələb olunur. Ətraflı məlumat üçün “OpenCLTM Offline Compiler (OCLOC) quraşdırın” bölməsinə baxın Quraşdırma Bələdçisi.

• CPU-da sazlama üçün:

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

Sazlama Sessiyasına başlayın

Sazlama sessiyasına başlayın:

1. GDB* üçün Intel® Distribution-a aşağıdakı kimi başlayın:

gdb-oneapi massiv çevrilməsi

Siz (gdb) sorğusunu görməlisiniz.

2. Kernelin düzgün cihaza yükləndiyinə əmin olmaq üçün aşağıdakı addımları yerinə yetirin. (gdb) sorğusundan run əmrini yerinə yetirdikdə, ötürün cpu, gpu or sürətləndirici arqument:

  • CPU-da sazlama üçün:

cpu işə salın

Exampçıxış:

[SYCL] Cihazdan istifadə: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz]-dən [Intel(R) OpenCL]
  • GPU-da sazlama üçün:

gpu-nu işə salın

Exampçıxış:

[SYCL] Cihazdan istifadə: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] [Intel(R) LevelZero]-dan
  • FPGA emulyatorunda sazlama üçün:

sürətləndirici işə salın

Exampçıxış:

[SYCL] Cihazdan istifadə: [Intel(R) FPGA Emulyasiya Cihazı] [OpenCL(TM) proqramı üçün Intel(R) FPGA Emulyasiya Platformasından]

QEYD CPU, gpu və sürətləndirici parametrləri Array Transform proqramına xasdır.


3. GDB* üçün Intel® Distributionindən çıxmaq üçün:

çıxmaq

Rahatlığınız üçün GDB* üçün ümumi Intel® Distribution əmrləri təqdim olunur İstinad vərəqi.

Array Transform-u sazlamaq üçün sample və GDB* üçün Intel® Distribution haqqında daha çox öyrənin, istifadə edərək əsas sazlama ssenariləri ilə tanış olun. Dərslik.

Ətraflı məlumat əldə edin
Sənəd Təsvir
Dərslik: GDB üçün Intel® Distribution ilə sazlama* Bu sənəd GDB* üçün Intel® Distribution ilə SYCL* və OpenCL-in sazlanması zamanı əməl edilməli olan əsas ssenariləri təsvir edir.
GDB* üçün Intel® Distribution İstifadəçi Təlimatı Bu sənəd Intel® Distribution for GDB* ilə tamamlaya biləcəyiniz bütün ümumi tapşırıqları təsvir edir və lazımi texniki detalları təqdim edir.
GDB* Buraxılış Qeydləri üçün Intel® Distribution Qeydlərdə GDB* üçün Intel® Distribution-ın əsas imkanları, yeni funksiyaları və məlum problemləri haqqında məlumat var.
oneAPI Məhsul Səhifəsi Bu səhifədə oneAPI alət dəstləri haqqında qısa giriş və faydalı resurslara keçidlər var.
GDB* üçün Intel® Distribution Reference Sheet Bu bir səhifəlik sənəd qısaca Intel® Distribution for GDB* ilkin şərtlərini və faydalı əmrləri təsvir edir.
Yakobi Sample Bu kiçik SYCL* tətbiqinin iki versiyası var: səhvlər və düzəlişlər. s istifadə edinampGDB* üçün Intel® Distribution ilə proqramların sazlanmasından istifadə etmək.
Bildirişlər və İmtinalar

Intel texnologiyaları effektiv aparat, proqram təminatı və ya xidmət aktivləşdirilməsini tələb edə bilər.

Heç bir məhsul və ya komponent tamamilə təhlükəsiz ola bilməz.

Xərcləriniz və nəticələriniz fərqli ola bilər.

© Intel Korporasiyası. Intel, Intel loqosu və digər Intel markaları Intel Korporasiyasının və ya onun törəmə şirkətlərinin ticarət nişanlarıdır. Digər adlar və markalar başqalarının mülkiyyəti kimi iddia edilə bilər.

Bu sənəd tərəfindən hər hansı əqli mülkiyyət hüququna heç bir lisenziya (açıq və ya nəzərdə tutulmuş, estoppel və ya başqa şəkildə) verilmir.

Təsvir edilən məhsullarda dizayn qüsurları və ya səhvlər kimi tanınan səhvlər ola bilər ki, bu da məhsulun dərc edilmiş spesifikasiyalardan kənara çıxmasına səbəb ola bilər. Cari xarakterizə edilən səhvlər istək əsasında mövcuddur.

Intel bütün açıq və nəzərdə tutulan zəmanətlərdən, o cümlədən məhdudiyyətsiz olaraq, satışa yararlılıq, müəyyən məqsəd üçün uyğunluq və pozulmama ilə bağlı nəzərdə tutulan zəmanətlərdən, habelə performans, əməliyyat kursu və ya ticarətdə istifadədən irəli gələn hər hansı zəmanətdən imtina edir.

OpenCL və OpenCL loqosu Khronos tərəfindən icazə ilə istifadə edilən Apple Inc-in ticarət nişanlarıdır.

Sənədlər / Resurslar

Linux OS Host-da GDB üçün intel Distribution [pdf] İstifadəçi təlimatı
Linux OS Host-da GDB, Linux OS Host-da GDB, Linux OS Host, OS Host, Host-da paylanma

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *