E hoʻomaka me Intel® Distribution no GDB* ma Linux* OS Host

E hoʻomaka i ka hoʻohana ʻana i ka Intel® Distribution no GDB* no ka hoʻopau ʻana i nā noi. E hahai i nā ʻōlelo aʻoaʻo ma lalo nei e hoʻonohonoho i ka debugger e hoʻopau i nā noi me nā kernels i hoʻoiho ʻia i nā polokalamu CPU a me GPU.

Loaʻa ka Intel® Distribution no GDB* ma ke ʻano o ka Intel® oneAPI Base Toolkit. No ka ʻike hou aku e pili ana i nā hāmeʻa oneAPI, e kipa i ka ʻaoʻao huahana.

E kipa i ka Hoʻokuʻu ʻŌlelo ʻaoʻao no ka ʻike e pili ana i nā mana kī, nā hiʻohiʻona hou, a me nā pilikia i ʻike ʻia.

Hiki iā ʻoe ke hoʻohana i kahi SYCL* sample code, Array Transform, e hoʻomaka me ka Intel® Distribution no GDB*. ʻO ka sampʻAʻole hoʻopuka ka le i nā hewa a hōʻike wale i nā hiʻohiʻona debugger. Hoʻoponopono nā code i nā mea o ka laha hoʻokomo ma muli o ke ʻano like a ʻokoʻa paha lākou a hoʻopuka i kahi ʻano hoʻopuka. Hiki iā ʻoe ke hoʻohana i ka sample e debug ma ka CPU a i ʻole GPU, e kuhikuhi ana i ka mea i koho ʻia ma o ka hoʻopaʻapaʻa laina kauoha. E hoʻomanaʻo inā makemake paha ka hoʻopiʻi GPU i ʻelua ʻōnaehana a me kahi hoʻonohonoho hou no ka debugging mamao.

Nā mea e pono ai

Inā makemake ʻoe e debug ma GPU, e hoʻokomo i nā mea hoʻokele GPU hou loa a hoʻonohonoho i kāu ʻōnaehana e hoʻohana iā lākou. Nānā i ka Intel® oneAPI Toolkits Installation Guide no Linux* OS. E hahai i nā kuhikuhi E hoʻouka i nā mea hoʻokele Intel GPU e hoʻouka i nā mea hoʻokele GPU e pili ana i kāu ʻōnaehana.

Eia hou, hiki iā ʻoe ke hoʻouka i kahi hoʻonui no Visual Studio Code* no ka hoʻopau ʻana i ka GPU me ka Intel® Distribution no GDB*. Nānā i ka Ke hoʻohana nei i Visual Studio Code me Intel® oneAPI Toolkits Guide.

Hoʻonohonoho i ka GPU Debugger

No ka hoʻonohonoho ʻana i ka GPU debugger, pono ʻoe e loaʻa i ke aʻa.


HOOLAHA I ka wā kernel debugging, ua kāpae ʻia ka GPU a ʻaʻole i loaʻa ka hoʻopuka wikiō ma kāu mīkini ʻimi. Ma muli o kēia, ʻaʻole hiki iā ʻoe ke debug i ka GPU mai ka ʻōnaehana pahuhopu inā hoʻohana ʻia ke kāleka GPU o ka ʻōnaehana no ka hoʻopuka kiʻi. I kēia hihia, hoʻohui i ka mīkini ma o ssh.


1. Inā makemake ʻoe e debug ma GPU, pono kahi Linux Kernel e kākoʻo ana i ka debugging GPU.

a. E hahai i na kuhikuhi ma ʻO ka polokalamu Intel® no nā mana GPU maʻamau e hoʻoiho a hoʻokomo i nā mea hoʻokele pono.
b. E hoʻā i ke kākoʻo debug i915 ma Kernel:

a. E wehe i kahi pahu.
b. Wehe i ka grub file i loko /etc/default.
c. I ka ʻōpala file, huli i ka laina GRUB_CMDLINE_LINUX_DEFAULT="".
d. E hoʻokomo i kēia kikokikona ma waena o nā huaʻōlelo (“”):

i915.debug_eu=1


HOOLAHA ʻO ka mea maʻamau, ʻaʻole ʻae ka mea hoʻokele GPU i nā hana e holo ma luna o kahi GPU ma mua o kekahi manawa. Hoʻopau ka mea hoʻokele i nā hana hana lōʻihi ma ka hoʻonohonoho hou ʻana i ka GPU e pale i nā kau. Hoʻopau ʻia ka hana hangcheck o ka mea hoʻokele inā holo ka noi ma lalo o ka debugger. Inā hoʻolālā ʻoe e holo i nā haʻawina lōʻihi me ka ʻole o kahi debugger i hoʻopili ʻia, e noʻonoʻo e noi GPU: Hoʻopau iā Hangcheck ma ka hoohui ana

i915.enable_hangcheck=0

i ka like GRUB_CMDLINE_LINUX_DEFAULT laina.

c. Hōʻano hou iā GRUB no kēia mau hoʻololi e hoʻokō:

sudo update-grub

d. Hoʻomaka hou.

2. E hoʻonohonoho i kāu kaiapuni CLI ma ka ʻimi ʻana i ka script setvars i loaʻa i ke kumu o kāu hoʻokomo ʻana i ka mea hana.

Linux (sudo):

kumu /opt/intel/oneapi/setvars.sh

Linux (mea hoʻohana):

kumu ~/intel/oneapi/setvars.sh

3. Kaiapuni hoʻonohonoho
E hoʻohana i nā ʻano hoʻololi kaiapuni e hiki ai i ke kākoʻo debugger no Intel® oneAPI Level Zero:

hoʻokuʻu aku iā ZET_ENABLE_PROGRAM_DEBUGGING=1
hoʻokuʻu aku iā IGC_EnableGTLocationDebugging=1

4. Nānā pūnaewele
Ke mākaukau nā mea a pau, e ʻoluʻolu e holo i kēia kauoha e hōʻoia i ka hilinaʻi o ka ʻōnaehana ʻōnaehana:

python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py – kānana debugger_sys_check -force

ʻO kahi puka kūpono o kahi ʻōnaehana i hoʻonohonoho maikaʻi ʻia penei:


Nānā i nā hopena:
================================================================== ===============================
E nānā i ka inoa: debugger_sys_check
Hōʻike: Hōʻoia kēia nānā inā mākaukau ke kaiapuni e hoʻohana i ka gdb (Intel(R) Distribution no GDB*).
Kūlana hopena: PASS
Loaʻa ka Debugger.
libipt loaa.
libiga loaa.
i915 debug ua hiki.
Pololei nā loli kaiapuni. ================================================================== =================================

1 NANA: 1 HALA, 0 FAIL, 0 ALA'E, 0 HALA.

Hoʻopuka console file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt puka JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

Hoʻopili i ka Polokalamu me ka ʻike Debug

Hiki iā ʻoe ke hoʻohana i ka sampʻO ka papahana, Array Transform, e hoʻomaka koke me ka debugger noi.

1. No ka loaʻa ʻana o ka sampe, koho i kekahi o keia mau ala:

2. E hoʻokele i ka src o ka sampka papahana:

cd array-transform/src

3. E hōʻuluʻulu i ka palapala noi ma ka ʻae ʻana i ka ʻike debug (-g hae) a me ka hoʻopau ʻana i nā optimizations (-O0 hae).
Manaʻo ʻia ka hoʻopau ʻana i ka loiloi no kahi kaiapuni debug paʻa a pololei. Kōkua kēia i ka pale ʻana i ka huikau i hoʻololi ʻia i ke code ma hope o ka hoʻonui ʻana i ka compiler.


HOOLAHA Hiki iā ʻoe ke hōʻuluʻulu i ka papahana me ka optimization enabled (-O2 flag), hiki ke kōkua inā makemake ʻoe i ka GPU assembly debugging.


Hiki iā ʻoe ke hoʻohui i ka polokalamu ma nā ʻano he nui. Hoʻohana ʻia nā koho 1 a me 2 i ka hui ʻana i ka manawa kūpono (JIT), i manaʻo ʻia e debug i ka s.ample. Hoʻohana ʻia ke koho 3 i ka hui ʻana ma mua o ka manawa (AOT).

  • Koho 1. Hiki iā ʻoe ke hoʻohana i ka CMake file e hoʻonohonoho a kūkulu i ka polokalamu. Nānā i ka HELUHELU o ka sample no na kuhikuhi.

HOOLAHA ʻO ka CMake file hāʻawi ʻia me ka sample ua hala i na hae -g -O0.


  • Koho 2. E houluulu i ka array-transform.cpp sample palapala noi me ka CMake file, hoopuka i keia mau kauoha:

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

Inā hoʻokaʻawale ʻia ka hui ʻana a me ka hoʻopili ʻana, e mālama i nā hae -g -O0 ma ka pae loulou. ʻO ka ʻanuʻu loulou ke unuhi ʻo icpx i kēia mau hae e hāʻawi ʻia i ka mea hoʻopili i ka wā holo. Example:

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

  • Koho 3. Hiki iā ʻoe ke hoʻohana i ka hui ʻana o AOT no ka pale ʻana i nā manawa hōʻuluʻulu JIT lōʻihi i ka wā holo. Hiki ke lōʻihi ka lōʻihi o ka hui ʻana o JIT no nā kernels nui ma lalo o ka debugger. No ka hoʻohana ʻana i ke ʻano hōʻuluʻulu Ahead-of-Time:

• No ka wehe 'ana i ka GPU:
E wehewehe i ka hāmeʻa āu e hoʻohana ai no ka hoʻokō ʻana i ka polokalamu. No example, -device dg2-g10 no Intel® Data Center GPU Flex 140 Graphics. No ka papa inoa o nā koho i kākoʻo ʻia a me ka ʻike hou aku e pili ana i ka hui ʻana o AOT, e nānā i ka Intel® oneAPI DPC++ Compiler Developer Guide and Reference.
No example:

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

Pono ka hui ʻana ma mua o ka OpenCLTM Offline Compiler (OC Compiler LOC). No ka ʻike hou aku, e nānā i ka ʻāpana "Install OpenCLTM Offline Compiler (OCLOC)" o ka Alakaʻi hoʻokomo.

• No ka wehe 'ana i ka CPU:

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

E hoʻomaka i kahi Kau Debug

E hoʻomaka i ke kau debug:

1. E hoʻomaka i ka Intel® Distribution no GDB* penei:

gdb-oneapi array-transform

Pono ʻoe e ʻike i ka wikiwiki (gdb).

2. No ka hōʻoia ʻana ua hoʻokuʻu ʻia ka kernel i ka hāmeʻa kūpono, e hana i kēia mau hana. Ke hoʻokō ʻoe i ke kauoha holo mai ka (gdb) wikiwiki, e hāʻawi i ka cpu, gpu or mea hoʻokē hoʻopaʻapaʻa:

  • No ka hoʻopau ʻana i ka CPU:

holo cpu

Example puka:

[SYCL] Ke hoʻohana nei i ka mea hana: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] mai [Intel(R) OpenCL]
  • No ka hoʻopau ʻana i ka GPU:

holo gpu

Example puka:

[SYCL] Ke hoʻohana nei i ka mea hana: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] mai [Intel(R) LevelZero]
  • No ka debugging ma ka FPGA-emulator:

holo wikiwiki

Example puka:

[SYCL] Ke hoʻohana nei i ka mea hana: [Intel(R) FPGA Emulation Device] mai [Intel(R) FPGA Emulation Platform no OpenCL(TM) lako polokalamu]

HOOLAHA ʻO nā ʻāpana cpu, gpu, a me ka wikiwiki ka mea kikoʻī i ka noi Array Transform.


3. E haʻalele i ka Intel® Distribution no GDB*:

haʻalele

No kou ʻoluʻolu, hāʻawi ʻia nā kauoha maʻamau Intel® Distribution no GDB* ma ka Pepa Kuhikuhi.

No ka debug i ka Array Transform sampe aʻo hou e pili ana i Intel® Distribution no GDB*, e hele i nā hiʻohiʻona debugging kumu me ka hoʻohana ʻana i ka Aʻoaʻo.

E aʻo hou aku
Palapala wehewehe
Aʻo: Debugging me Intel® Distribution no GDB* Hōʻike kēia palapala i nā hiʻohiʻona kumu e hahai ai i ka wā e hoʻopau ana iā SYCL* a me OpenCL me Intel® Distribution no GDB*.
Intel® Distribution no ke alakaʻi hoʻohana GDB* Hōʻike kēia palapala i nā hana maʻamau a pau hiki iā ʻoe ke hoʻopau me Intel® Distribution no GDB* a hāʻawi i nā kikoʻī ʻenehana pono.
Intel® Distribution for GDB* Nā memo hoʻokuʻu Aia i loko o nā memo ka ʻike e pili ana i nā mana koʻikoʻi, nā hiʻohiʻona hou, a me nā pilikia i ʻike ʻia o Intel® Distribution no GDB*.
ʻAoʻao huahana oneAPI Loaʻa i kēia ʻaoʻao kahi hoʻolauna pōkole e pili ana i nā hāmeʻa oneAPI a me nā loulou i nā kumuwaiwai pono.
Intel® Distribution for GDB* Pepa Kuhikuhi Hōʻike pōkole kēia palapala ʻaoʻao hoʻokahi i ka Intel® Distribution no GDB* mau koi a me nā kauoha pono.
ʻO Jacobi Sample ʻElua mau mana o kēia noi liʻiliʻi SYCL*: hoʻopaʻa ʻia. E hoʻohana i ka sampe hoʻohana i ka hoʻopololei palapala noi me Intel® Distribution no GDB*.
Hoolaha a me na Hoole

Hiki i nā ʻōnaehana Intel ke koi ʻia i nā ʻenehana, lako polokalamu a i ʻole ka hana e lawelawe ai.

ʻAʻole hiki ke hoʻopaʻa paʻa ʻia kekahi huahana a mea ʻāpana paha.

He ʻokoʻa paha kāu mau koina a me nā hopena.

© Intel Corporation. ʻO Intel, ka Intel logo, a me nā hōʻailona Intel ʻē aʻe he mau hōʻailona o Intel Corporation a i ʻole kāna mau lālā. Hiki ke koi ʻia nā inoa a me nā hōʻailona ʻē aʻe ma ke ʻano he waiwai o nā poʻe ʻē aʻe.

ʻAʻole hāʻawi ʻia ka laikini (hōʻike a i ʻole ka manaʻo, e ka estoppel a i ʻole) i kekahi kuleana waiwai naʻauao e kēia palapala.

Loaʻa i nā huahana i wehewehe ʻia nā hemahema hoʻolālā a i ʻole nā ​​hewa i kapa ʻia ʻo errata e hoʻohuli i ka huahana mai nā kikoʻī i paʻi ʻia. Loaʻa ka hewa o kēia manawa ma ke noi.

Hōʻole ʻo Intel i nā palapala hōʻoia a pau, me ka ʻole o ka palena, nā palapala hōʻoia o ke kūʻai aku, kūpono no kekahi kumu, a me ka hewa ʻole, a me nā palapala hōʻoia e puka mai ana mai ke ʻano o ka hana, ke ʻano o ka hana, a i ʻole ka hoʻohana ʻana i ke kālepa.

ʻO OpenCL a me ka OpenCL logo nā hōʻailona o Apple Inc. i hoʻohana ʻia ma ka ʻae ʻia e Khronos.

Palapala / Punawai

intel Distribution no GDB ma Linux OS Host [pdf] Ke alakaʻi hoʻohana
Hāʻawi ʻia no GDB ma Linux OS Host, GDB ma Linux OS Host, Linux OS Host, OS Host, Host

Nā kuhikuhi

Waiho i kahi manaʻo

ʻAʻole e paʻi ʻia kāu leka uila. Hōʻailona ʻia nā kahua i makemake ʻia *