Bi Dabeşkirina Intel®-ê ji bo GDB* li ser Mêvandarê Linux* OS-ê dest pê bikin
Dest bi karanîna Dabeşkirina Intel®-ê ji bo GDB* ji bo sepanên debugkirinê bikin. Rêwerzên li jêr bişopînin da ku debugger saz bikin da ku sepanên bi kernelên ku ji cîhazên CPU û GPU-yê re hatine barkirin rast bikin.
Dabeşkirina Intel® ji bo GDB* wekî beşek Amûra Bingeha Intel® OneAPI heye. Ji bo bêtir agahdarî li ser amûrek yekAPI, biçin rûpela hilberê.
Serdan bikin Release Notes rûpel ji bo agahdariya li ser kapasîteyên sereke, taybetmendiyên nû, û pirsgirêkên naskirî.
Hûn dikarin SYCL* s bikar bîninampkoda le, Array Veguheztin, da ku dest bi Belavkirina Intel® ji bo GDB * bikin. The sample xeletiyan naafirîne û bi tenê taybetmendiyên debugger nîşan dide. Kod hêmanên rêza têketinê li gorî ku ew zewac in an cidî ne pêvajo dike û rêzek derketinê çêdike. Hûn dikarin s bikar bîninampbila hem li ser CPU û hem jî GPU debug bike, amûra hilbijartî bi argumanek rêzika fermanê diyar bike. Lêbelê bala xwe bidin ku debugkirina GPU-yê dibe ku ji bo verastkirina dûr du pergal û veavakirina zêde hewce bike.
Pêşdibistanên
Heke hûn armanc dikin ku li GPU-ê debug bikin, ajokarên GPU-ya herî dawî saz bikin û pergala xwe mîheng bikin ku wan bikar bînin. Binêre Intel® OneAPI Toolkits Rêbernameya Sazkirinê ji bo Linux* OS. Talîmatan bişopînin Ajokarên Intel GPU saz bikin ji bo sazkirina ajokarên GPU yên ku pergala xwe li hev dikin.
Wekî din, hûn dikarin pêvekek ji bo Visual Studio Code* saz bikin ji bo xeletkirina GPU-yê bi Dabeşkirina Intel®-ê ji bo GDB*. Binêre Bikaranîna Koda Visual Studio bi Rêbernameya Amûrên Intel® OneAPI re.
GPU Debugger saz bikin
Ji bo sazkirina debuggerê GPU, divê hûn gihîştina root hebe.
NOT Di dema debugkirina kernelê de, GPU tê sekinandin û derketina vîdyoyê li ser makîneya weya armancê tune ye. Ji ber vê yekê, heke qerta GPU ya pergalê ji bo derketina grafîkî jî were bikar anîn, hûn nekarin GPU-yê ji pergala armancê derxînin. Di vê rewşê de, bi rêya ssh bi makîneyê ve girêdayî ye.
1. Heke hûn armanc dikin ku li ser GPU-ê debug bikin, Kernelek Linux-ê ku piştgirîkirina xeletkirina GPU-yê piştgirî dike hewce ye.
a. Talîmatên li ser bişopînin Nermalava Intel® ji bo kapasîteyên GPU yên gelemperî dakêşin û ajokarên pêwîst saz bikin.
b. Piştgiriya debugkirina i915 di Kernel de çalak bike:
a. Termînalek vekin.
b. Grûbê vekin file di /etc/default.
c. Di gûzê de file, rêzê bibînin GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Nivîsa jêrîn di navbera kêşan de ("") binivîse:
i915.debug_eu=1
NOT Ji hêla xwerû, ajokera GPU-yê rê nade ku barkêşên xebatê li ser GPU-yê ji demek diyarkirî dirêjtir bixebitin. Ajokar bi vesazkirina GPU-yê ve bargiraniyên weha yên dirêj dikuje da ku pêşî li darvekirinê bigire. Ger serîlêdan di binê debuggerê de were xebitandin, mekanîzmaya hangcheck a ajokerê neçalak e. Ger hûn plan dikin ku bargiraniyên dirêj ên hesabkirinê jî bêyî ku debuggerek were girêdan bimeşînin, serîlêdanê bifikirin GPU: Hangcheck neçalak bike bi zêdekirina
i915.enable_hangcheck=0
bi heman rengî Xeta GRUB_CMDLINE_LINUX_DEFAULT.
c. GRUB-ê nûve bikin da ku van guhertinan bikeve meriyetê:
sudo update-grub
d. Reboot.
2. Jîngeha CLI-ya xwe saz bikin bi çavkaniya skrîpta setvars-ê ku di koka sazkirina amûra xwe de cih digire.
Linux (sudo):
source /opt/intel/oneapi/setvars.sh
Linux (bikarhêner):
çavkanî ~/intel/oneapi/setvars.sh
3. Jîngeha Setup
Guherbarên hawirdorê yên jêrîn bikar bînin ku ji bo Intel® OneAPI Level Zero piştgiriya debugger çalak bikin:
îxracata ZET_ENABLE_PROGRAM_DEBUGGING=1
hinardekirina IGC_EnableGTLocationDebugging=1
4. Kontrola pergalê
Dema ku her tişt amade ye, ji kerema xwe emrê jêrîn bimeşînin da ku piştrast bikin ku veavakirina pergalê pêbawer e:
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force
Hilberek gengaz a pergalek baş hatî mîhengkirin wiha ye:
…
Encamên kontrolê:
=================================================== ================================
Navê kontrol bikin: debugger_sys_check
Danasîn: Vê kontrolê piştrast dike ku gelo jîngeh amade ye ku gdb bikar bîne (Belavbûna Intel(R) ji bo GDB*).
Rewşa encam: DERBAS
Debugger hat dîtin.
libipt hat dîtin.
libiga dîtin.
debugkirina i915 çalak e.
Guherbarên jîngehê rast dikin. =================================================== =================================
1 KONTROL: 1 DERBAS, 0 SERKEFTIN, 0 HIŞYARÎ, 0 ÇEWT
Derketina konsolê file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt Derketina JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json…
Bernameyê bi Agahdariya Debug re berhev bikin
Hûn dikarin s bikar bîninampproje, Array Transform, da ku zû dest bi debugera serîlêdanê bike.
1. Ji bo bidestxistina sample, yek ji awayên jêrîn hilbijêrin:
- OneAPI CLI S bikar bîninamples Browser ji bo hilbijartina Array Transform ji kategoriya Destpêk Destpêk.
- Daxistin ji GitHub*.
2. Biçe src ya sampproje:
cd array-veguherandin/src
3. Bi çalakkirina agahdariya debugkirinê (ala-g) û bi vemirandina optimîzasyonan (ala -O0) serîlêdanê berhev bikin.
Neçalakkirina optimîzasyonê ji bo jîngehek debugê ya domdar û rast tê pêşniyar kirin. Ev dibe alîkar ku ji tevliheviya ku ji ber guheztinên kodê yên piştî xweşbîniyên berhevkerê çêbibin dûr bikevin.
NOT Hûn hîn jî dikarin bernameyê bi optimîzasyonek çalakkirî (ala -O2) berhev bikin, ku heke hûn armanc jêbirina meclîsa GPU-yê bikin dibe alîkar.
Hûn dikarin bernameyê bi çend awayan berhev bikin. Vebijarkên 1 û 2 berhevoka tenê-dem-demê (JIT) bikar tînin, ku tê pêşniyar kirin ku s-ê xelet bike.ample. Vebijêrk 3 berhevoka pêş-dem (AOT) bikar tîne.
- Vebijêrk 1. Hûn dikarin CMake bikar bînin file ji bo mîhengkirin û avakirina sepanê. Binêre README ya sample ji bo talîmatan.
NOT CMake file pêşkêşkirin bi sample jixwe alayên -g -O0 derbas dike.
- Vebijêrk 2. Ji bo berhevkirina array-transform.cpp sample serîlêdana bêyî CMake file, fermanên jêrîn derxînin:
icpx -fsycl -g -O0 array-transform.cpp -o array-transform
Ger berhevkirin û girêdan ji hev cuda were kirin, di qonaxa girêdanê de alayên -g -O0 biparêzin. Pêngava girêdanê dema ku icpx van alayan werdigerîne ku di dema xebitandinê de ji berhevkarê cîhazê re were derbas kirin. Example:
icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-veguhertin.o -o array-veguhertin
- Vebijêrk 3. Hûn dikarin berhevoka AOT bikar bînin da ku di dema xebitandinê de demên berhevkirina JIT-ê dirêjtir nebin. Berhevkirina JIT dikare ji bo kernelên mezin ên di binê debugger de pir dirêjtir bigire. Ji bo bikaranîna moda berhevkirina Pêş-ji-Time:
• Ji bo debugkirina li ser GPU:
Amûra ku hûn ê ji bo pêkanîna bernameyê bikar bînin diyar bikin. Ji bo example, -device dg2-g10 bo Intel® Data Center GPU Flex 140 Graphics. Ji bo navnîşa vebijarkên piştgirî û bêtir agahdarî li ser berhevkirina AOT, serî li Intel® oneAPI DPC++ Berhevkarê Pêşkêşkar Rêber û Çavkanî.
Ji bo example:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform
Berhevkirina Berê Berhevkarê OpenCLTM Offline (OC Compiler LOC) hewce dike. Ji bo bêtir agahdarî, beşa "OpenCLTM Offline Compiler (OCLOC)" saz bikin Installation Guide.
• Ji bo debugkirina li ser CPU:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform
Rûniştinek Debug dest pê bikin
Danişîna debugkirinê dest pê bike:
1. Dabeşkirina Intel® ji bo GDB* bi vî rengî dest pê bikin:
gdb-oneapi array-veguherîne
Divê hûn tavilê (gdb) bibînin.
2. Ji bo ku hûn pê ewle bibin ku kernel li cîhaza rast hatî barkirin, gavên jêrîn bikin. Dema ku hûn fermana xebitandinê ya ji (gdb) xêz dike, derbas bikin cpu, gpu or pêdala xazê bersivk:
- Ji bo debugkirina li ser CPU:
cpu bimeşîne
Examplê encam:
[SYCL] Amûrê bi kar tîne: [CPU Intel(R) Core(TM) i7-9750H @ 2.60GHz] ji [Intel(R) OpenCL]- Ji bo debuggkirina li ser GPU:
gpu bixebitin
Examplê encam:
[SYCL] Amûrê bi kar tîne: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] ji [Intel(R) LevelZero]- Ji bo debugkirina li ser emulatora FPGA:
accelerator run
Examplê encam:
[SYCL] Amûra Bikaranîna: [Cîhaza Emûlasyona Intel(R) FPGA] ji [Platforma Emûlasyona Intel(R) FPGA ji bo nermalava OpenCL(TM)]NOT Parametreyên cpu, gpu, û lezker ji bo serîlêdana Array Transform taybetî ne.
3. Ji bo derketina ji Dabeşkirina Intel® ji bo GDB*:
devjêberdan
Ji bo rehetiya we, Dabeşkirina hevpar Intel® ji bo fermanên GDB* di nav de têne peyda kirin Sheet Reference.
Ji bo debugkirina Array Transform sampû li ser Dabeşkirina Intel®-ê ji bo GDB* bêtir fêr bibin, di nav senaryoyên debugging-ê yên bingehîn de bi kar bînin Tutorial.
Bêtir hîn bibin
Belge | Terîf |
Tutorial: Ji bo GDB-ê bi Dabeşkirina Intel® re xeletkirin * | Vê belgeyê senaryoyên bingehîn ên ku divê bişopînin dema ku SYCL* û OpenCL bi Dabeşkirina Intel®-ê ji bo GDB* re xelet dike vedibêje. |
Dabeşkirina Intel® ji bo GDB* Rêbernameya Bikarhêner | Ev belge hemî karên hevpar ên ku hûn dikarin bi Intel® Distribution ji bo GDB* temam bikin diyar dike û hûrguliyên teknîkî yên pêwîst peyda dike. |
Dabeşkirina Intel®-ê ji bo GDB* Têbînîyên berdanê | Nîşe agahdarî li ser kapasîteyên sereke, taybetmendiyên nû, û pirsgirêkên naskirî yên Dabeşkirina Intel® ji bo GDB * hene. |
Rûpelê Hilbera OneAPI | Di vê rûpelê de danasîna kurt a li ser amûrek yekAPI û girêdanên çavkaniyên bikêr heye. |
Dabeşkirina Intel® ji bo GDB * Bernameya Referansê | Ev belgeya yek-rûpelî bi kurtî Dabeşkirina Intel® ji bo şert û mercên GDB* û fermanên kêrhatî vedibêje. |
Jacobi Sample | Vê serîlêdana piçûk a SYCL* du guhertoyên xwe hene: xelet û rastkirin. S-yê bikar bîninampJi bo GDB* bi Dabeşkirina Intel® re verastkirina sepanê bixebitin. |
Notices û Disclaimers
Dibe ku teknolojiyên Intel-ê pêdivî bi çalakkirina hardware, nermalavê an karûbarê çalak bike.
Tu hilber an pêkhateyek nikare bi tevahî ewledar be.
Mesref û encamên we dibe ku cûda bibin.
© Intel Corporation. Intel, logoya Intel, û nîşaneyên din ên Intel marqeyên Intel Corporation an pargîdaniyên wê ne. Dibe ku nav û marqeyên din wekî milkê yên din werin îdîakirin.
Ji vê belgeyê re ti destûrnameyek (bi eşkere an têgihîştî, bi estoppel an wekî din) ji ti mafên xwedaniya rewşenbîrî re nayê dayîn.
Berhemên ku hatine destnîşan kirin dibe ku kêmasiyên sêwiranê an xeletiyên ku wekî xelet têne zanîn hene ku dibe sedema ku hilber ji taybetmendiyên hatine weşandin dûr bixe. Li ser daxwazê xeletiyên diyarkirî yên heyî hene.
Intel hemî garantiyên eşkere û nepenî red dike, di nav de bêsînor, garantiyên berbiçav ên kirrûbirrê, guncanbûna ji bo armancek taybetî, û ne binpêkirin, û her weha her garantiyek ku ji qursa performansê, qursa danûstendinê, an karanîna bazirganiyê derdikeve.
OpenCL û logoya OpenCL marqeyên tîcarî yên Apple Inc. ne ku bi destûr ji hêla Khronos ve têne bikar anîn.
Belge / Çavkanî
![]() |
Dabeşkirina intel ji bo GDB li ser Mêvandarê OS Linux [pdf] Rehbera bikaranînê Belavkirina GDB li ser Hosta Linux OS, GDB li ser Linux OS Host, Linux OS Host, OS Host, Host |