Bido na nkesa Intel® maka GDB* na Linux* os Host

Malite iji nkesa Intel® maka GDB* maka ngwa nbipu. Soro ntuziaka dị n'okpuru ka ịtọlite ​​onye nbipu ka ọ mebie ngwa nwere kernel ebupụrụ na ngwaọrụ CPU na GPU.

Nkesa Intel® maka GDB* dị ka akụkụ nke Intel® oneAPI Base Toolkit. Maka ozi ndị ọzọ na ngwa ngwa otuAPI, gaa na ibe ngwaahịa.

Gaa leta Ndetu mwepụta ibe maka ozi gbasara ike isi, atụmatụ ọhụrụ na okwu ndị ama ama.

Ị nwere ike iji SYCL* sampna koodu, Array Transform, iji malite na Intel® Distribution for GDB*. Ihe sample anaghị ewepụta mperi ma na-egosipụta naanị njirimara nrụzigharị. Usoro ihe omume koodu nke ndenye n'usoro dabere ma ọ dị ọbụna ma ọ bụ dị iche ma na-emepụta usoro mmepụta. Ị nwere ike iji sampiji debug na ma CPU ma ọ bụ GPU, na-akọwapụta ngwaọrụ ahọpụtara site na arụmụka ahịrị iwu. Rịba ama n'agbanyeghị na nbibi GPU nwere ike ịchọ usoro abụọ yana nhazi ọzọ maka nbipu dịpụrụ adịpụ.

Ihe achọrọ

Ọ bụrụ na ịchọrọ ịmegharị na GPU, wụnye ndị ọkwọ ụgbọala GPU kachasị ọhụrụ wee hazie sistemụ gị ka ọ jiri ha. Tụtụ aka na Ntuziaka nwụnye Intel® oneAPI Toolkits maka Linux* OS. Soro ntuziaka Wụnye ndị ọkwọ ụgbọ ala Intel GPU iji wụnye ndị ọkwọ ụgbọala GPU dabara na sistemụ gị.

Ọzọkwa, ị nwere ike iwunye ndọtị maka Visual Studio Code* maka nbibi GPU na nkesa Intel® maka GDB*. Tụtụ aka na Iji Visual Studio Code na Intel® oneAPI Toolkits Guide.

Hazie GPU Debugger

Iji melite GPU debugger, ị ga-enwerịrị ohere mgbọrọgwụ.


IHE N'oge nbibi kernel, GPU kwụsịrị yana mmepụta vidiyo adịghị na igwe ebumnuche gị. N'ihi nke a, ịnweghị ike ịmegharị GPU site na sistemụ ebumnuche ma ọ bụrụ na ejiri kaadị GPU nke sistemụ ahụ maka mmepụta eserese. N'okwu a, jikọọ na igwe site na ssh.


1. Ọ bụrụ na ịchọrọ ịmegharị na GPU, a chọrọ Linux Kernel nke na-akwado nbibi GPU.

a. Soro ntuziaka na Akụrụngwa Intel® maka ebumnuche izugbe ike GPU ka ibudata na wụnye ndị ọkwọ ụgbọala dị mkpa.
b. Kwado nkwado mperi i915 na Kernel:

a. Mepee ọnụ.
b. Mepee grub file na /etc/default.
c. Na grub file, chọta ahịrị GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Tinye ederede n'etiti nhota ndị a (""):

i915.debug_eu=1


IHE Site na ndabara, onye ọkwọ ụgbọ ala GPU anaghị ekwe ka ibu ọrụ rụọ ọrụ na GPU ogologo oge karịa oge ụfọdụ. Onye ọkwọ ụgbọ ala na-egbu ụdị ọrụ na-ewe ogologo oge site na ịtọgharịa GPU iji gbochie nkwudo. Akwụsịla usoro nlele anya nke onye ọkwọ ụgbọ ala ma ọ bụrụ na ngwa ahụ na-agba n'okpuru ihe nbipu. Ọ bụrụ na ị na-eme atụmatụ ịgbakọ ogologo ọrụ na-arụ ọrụ na-enweghị mgbakwunye ihe nbibi, tụlee itinye GPU: gbanyụọ Hangcheck site n'ịgbakwunye

i915.enable_hangcheck=0

ka otu ahịrị GRUB_CMDLINE_LINUX_DEFAULT.

c. Melite GRUB maka mgbanwe ndị a ka ọ rụọ ọrụ:

sudo update-grub

d. Malitegharịa ekwentị.

2. Hazie gburugburu CLI gị site na ị nweta edemede setvars dị na mgbọrọgwụ nke nrụnye ngwa ngwa gị.

Linux (sudo):

isi iyi /opt/intel/oneapi/setvars.sh

Linux (onye ọrụ):

isi mmalite ~/intel/oneapi/setvars.sh

3. Nhazi gburugburu
Jiri mgbanwe gburugburu ebe obibi ndị a iji mee ka nkwado debugger maka Intel® oneAPI Level Zero:

mbupụ ZET_ENABLE_PROGRAM_DEBUGGING=1
mbupụ IGC_EnableGTLocationDebugging=1

4. Nyochaa sistemụ
Mgbe ihe niile dị njikere, biko mee iwu na-esonụ iji gosi na nhazi usoro ahụ bụ nke a pụrụ ịdabere na ya:

python3 / ụzọ/to/intel/oneapi/diagnostics/latest/diagnostics.py –filter debugger_sys_check -force

Enwere ike ị nweta usoro ahaziri nke ọma dị ka ndị a:


Na-enyocha nsonaazụ:
=========================================== =========================
Lelee aha: debugger_sys_check
Nkọwa: Nyocha a na-enyocha ma ọ bụrụ na gburugburu ebe obibi dị njikere iji gdb (Intel(R) Nkesa maka GDB*).
Ọkwa nsonaazụ: PASS
achọtara ihe nbibi.
libipt hụrụ.
libiga hụrụ.
agbanyere mwepu i915.
Ngbanwe gburugburu ebe obibi ziri ezi. =========================================== ===========================

Nlele 1: 1 gafere, 0 dara, 0 ịdọ aka ná ntị, 0 mperi

Mbupute njikwa file: /ụzọ/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON mmepụta file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Jiri Ozi Debug chịkọta mmemme ahụ

Ị nwere ike iji sample project, Array Transform, iji malite ngwa ngwa debugger.

1. Iji nweta sample, họrọ nke ọ bụla n'ime ụzọ ndị a:

2. Gaa na src nke sample oru ngo:

cd array-transform/src

3. Chịkọta ngwa ahụ site n'ịkwalite ozi nbipu (-g flag) wee gbanyụọ njikarịcha (-ọkọlọtọ-O0).
A na-atụ aro nkwalite nkwalite maka ebe kwụsiri ike na nke ziri ezi. Nke a na-enyere aka ịzenarị mgbagwoju anya nke mgbanwe koodu na-ebute mgbe njikarịcha mkpokọta.


IHE Ị ka nwere ike chịkọta mmemme ahụ site na iji njikarịcha enyere (-O2 flag), nke nwere ike inye aka ma ọ bụrụ na ị na-eche na nbibi mgbakọ GPU.


Ị nwere ike chịkọta mmemme n'ọtụtụ ụzọ. Nhọrọ 1 na nke 2 na-eji nchịkọta naanị-in-time (JIT), nke a na-atụ aro ka ihichapụ s.ample. Nhọrọ 3 na-eji nchikota tupu oge eruo (AOT).

  • Nhọrọ 1. Ị nwere ike iji CMake file iji hazie ma wuo ngwa ahụ. Tụtụ aka na GỤKWUO nke sample maka ntuziaka.

IHE Ihe CMake file enyere ya na sample agafeela ọkọlọtọ -g -O0.


  • Nhọrọ 2. Iji chịkọta array-transform.cpp sample ngwa na-enweghị CMake file, nye iwu ndị a:

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

Ọ bụrụ na a na-eme nchịkọta na njikọ dị iche iche, jigide ọkọlọtọ -g -O0 na nzọụkwụ njikọ. Nzọụkwụ njikọ bụ mgbe icpx tụgharịrị ọkọlọtọ ndị a ka a ga-ebufe na ndị na-achịkọta ngwaọrụ n'oge a na-agba ọsọ. ỌpụampLe:

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

  • Nhọrọ 3. Ị nwere ike iji nchịkọta AOT iji zere ogologo oge nchịkọta JIT n'oge ọsọ. Nchịkọta JIT nwere ike were ogologo oge maka nnukwu kernel n'okpuru ihe nbibi. Iji ụdị nchịkọta oge ga-abịa:

• Maka ndozi na GPU:
Ezipụta ngwaọrụ ị ga-eji maka mmezu mmemme. Maka example, -ngwaọrụ dg2-g10 maka Intel® Data Center GPU Flex 140 Graphics. Maka ndepụta nhọrọ akwadoro yana ozi ndị ọzọ gbasara mkpokọta AOT, rụtụ aka na ya Intel® oneAPI DPC++ Ntuziaka Onye nrụpụta ihe na nrụtụ aka.
Maka exampLe:

icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-ngwaọrụ dg2-g10” array-transform.cpp -o arraytransform

Mkpokọta n'ihu oge chọrọ OpenCLTM Offline Compiler (OC Compiler LOC). Maka ozi ndị ọzọ, rụtụ aka na ngalaba "Wụnye OpenCLTM Offline Compiler (OCLOC)" nke Ntuziaka nwụnye.

• Maka ndozi na CPU:

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

Bido Oge nbibi

Malite nnọkọ nbibi:

1. Bido nkesa Intel® maka GDB* dị ka ndị a:

gdb-oneapi array-transform

Ị ga-ahụ ngwa ngwa (gdb).

2. Iji hụ na ebupụrụ kernel na ngwaọrụ kwesịrị ekwesị, mee usoro ndị a. Mgbe ị mezuru iwu ọsọ site na (gdb) ozugbo, gafere ya cpu, gpu or osooso arụmụka:

  • Maka debugging na CPU:

agba cpu

Exampmmepụta ihe:

[SYCL] Iji ngwaọrụ: [Intel(R) Core (TM) i7-9750H CPU @ 2.60GHz] sitere na [Intel(R) OpenCL]
  • Maka ndozi na GPU:

agba gpu

Exampmmepụta ihe:

[SYCL] Iji ngwaọrụ: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] sitere na [Intel(R) LevelZero]
  • Maka ndozi na FPGA-emulator:

agba osooso

Exampmmepụta ihe:

[SYCL] Iji ngwaọrụ: [Intel(R) FPGA Emulation Device] sitere na [Intel(R) FPGA Emulation Platform for OpenCL(TM) software]

IHE Ihe cpu, gpu, na accelerator parameters bụ kpọmkwem maka ngwa mgbanwe Array.


3. Iji kwụsị nkesa Intel® maka GDB*:

kwụsị

Maka ịdị mma gị, a na-enye iwu nkesa Intel® nkịtị maka GDB* n'ime Akwụkwọ ntụaka.

Iji mebie ihe mgbanwe Array sampma mụtakwuo maka nkesa Intel® maka GDB*, gagharịa site na ndapụta ndapụta bụ isi site na iji ihe ndị a. Nkuzi.

Mụtakwuo
Akwụkwọ Nkọwa
Nkuzi: Imebi ya na nkesa Intel® maka GDB* Akwụkwọ a na-akọwa ọnọdụ ndapụta ndị ị ga-eso mgbe ị na-emezigharị SYCL* na OpenCL na Intel® Distribution for GDB*.
Nkesa Intel® maka GDB* ntuziaka onye ọrụ Akwụkwọ a na-akọwa ọrụ niile a na-ahụkarị nke ị nwere ike mezue ya na nkesa Intel® maka GDB* wee nye nkọwa ọrụ aka dị mkpa.
Nkesa Intel® maka GDB* ndetu mwepụta Ihe ndetu ndị a nwere ozi gbasara ike isi, atụmatụ ọhụrụ na okwu ndị ama ama nke Intel® Distribution for GDB*.
ibe ngwaahịa otuAPI Ibe a nwere mmeghe nkenke na ngwa ngwa otuAPI yana njikọ maka akụrụngwa bara uru.
Nkesa Intel® maka akwụkwọ ntụaka GDB* Akwụkwọ nwere otu ibe na-akọwa nkenke nkenke Intel® Distribution maka ihe achọrọ GDB* yana iwu bara uru.
Jacobi Sample Ngwa obere SYCL* a nwere ụdị abụọ: emechiri na nke edoziri. Jiri sampiji jiri Intel® Distribution maka GDB* megharịa nbibi ngwa.
Ọkwa na Nkwusa

Teknụzụ Intel nwere ike ịchọ ngwa ngwa, ngwanrọ ma ọ bụ ịgbalite ọrụ.

Ọ nweghị ngwaahịa ma ọ bụ akụrụngwa nwere ike nwee nchekwa kpamkpam.

Ọnụ ego gị na nsonaazụ gị nwere ike ịdị iche.

© Ụlọ ọrụ Intel. Intel, akara Intel, na akara Intel ndị ọzọ bụ ụghalaahịa nke Intel Corporation ma ọ bụ ndị enyemaka ya. Enwere ike ịzọrọ aha na akara ndị ọzọ dị ka ihe onwunwe nke ndị ọzọ.

Enweghị ikike (gopụtara ma ọ bụ egosipụtara, site na estoppel ma ọ bụ nke ọzọ) ikike ikike ọgụgụ isi ọ bụla enyere site na akwụkwọ a.

Ngwaahịa akọwara nwere ike ịnwe ntụpọ imewe ma ọ bụ mperi mara dị ka errata nke nwere ike ime ka ngwaahịa ahụ pụọ na nkọwapụta ebipụtara. Errata mara ugbu a dị na arịrịọ.

Intel na-ewepụ akwụkwọ ikike niile egosipụtara na nke egosipụtara, gụnyere enweghị oke, akwụkwọ ikike ịzụ ahịa, ahụike maka otu ebumnuche, yana enweghị mmebi, yana akwụkwọ ikike ọ bụla sitere na arụmọrụ, usoro azụmahịa, ma ọ bụ ojiji na ahia.

OpenCL na akara OpenCL bụ ụghalaahịa nke Apple Inc. ejiri ikike Khronos mee ya.

Akwụkwọ / akụrụngwa

Nkesa intel maka GDB na Linux OS Host [pdf] Ntuziaka onye ọrụ
Nkesa maka GDB na Linux OS Host, GDB na Linux OS Host, Linux OS Host, OS Host, Host

Ntụaka

Hapụ ikwu

Agaghị ebipụta adreesị ozi-e gị. Akara mpaghara achọrọ akara *