Anza na Usambazaji wa Intel® kwa GDB* kwenye Linux* Seva ya Mfumo wa Uendeshaji
Anza kutumia Intel® Distribution kwa GDB* kwa utatuzi wa programu. Fuata maagizo yaliyo hapa chini ili kusanidi kitatuzi ili kutatua programu na kokwa zilizopakuliwa kwa vifaa vya CPU na GPU.
Intel® Distribution kwa GDB* inapatikana kama sehemu ya Intel® oneAPI Base Toolkit. Kwa habari zaidi juu ya zana za zana za API, tembelea ukurasa wa bidhaa.
Tembelea Vidokezo vya Kutolewa ukurasa kwa taarifa kuhusu uwezo muhimu, vipengele vipya, na masuala yanayojulikana.
Unaweza kutumia SYCL* sample code, Array Transform, ili kuanza na Intel® Distribution kwa GDB*. sample haitoi makosa na inaonyesha tu vipengele vya utatuzi. Nambari huchakata vipengee vya safu ya ingizo kulingana na ikiwa ni sawa au isiyo ya kawaida na hutoa safu ya matokeo. Unaweza kutumia sample kutatua hitilafu kwenye CPU au GPU, ikibainisha kifaa kilichochaguliwa kupitia hoja ya mstari wa amri. Kumbuka ingawa utatuzi wa GPU unaweza kuhitaji mifumo miwili na usanidi wa ziada kwa utatuzi wa mbali.
Masharti
Ikiwa unalenga kutatua hitilafu kwenye GPU, sakinisha viendeshi vya hivi punde vya GPU na usanidi mfumo wako ili kuzitumia. Rejea Mwongozo wa Usakinishaji wa Vifaa vya Intel® oneAPI vya Linux* OS. Fuata maagizo Sakinisha Viendeshi vya Intel GPU kusakinisha viendeshi vya GPU vinavyolingana na mfumo wako.
Zaidi ya hayo, unaweza kusakinisha kiendelezi cha Msimbo wa Visual Studio* kwa kutatua GPU ukitumia Intel® Distribution kwa GDB*. Rejea kwenye Kwa kutumia Msimbo wa Studio unaoonekana na Mwongozo wa Zana za Intel® oneAPI.
Sanidi Kitatuzi cha GPU
Ili kusanidi kitatuzi cha GPU, lazima uwe na ufikiaji wa mizizi.
KUMBUKA Wakati wa utatuzi wa kernel, GPU imesimamishwa na utoaji wa video haupatikani kwenye mashine unayolenga. Kwa sababu hii, huwezi kutatua GPU kutoka kwa mfumo lengwa ikiwa kadi ya GPU ya mfumo pia inatumika kwa utoaji wa picha. Katika kesi hii, unganisha kwa mashine kupitia ssh.
1. Ikiwa unalenga kurekebisha kwenye GPU, Linux Kernel inayoauni utatuzi wa GPU inahitajika.
a. Fuata maagizo kwenye Programu ya Intel® kwa madhumuni ya jumla ya uwezo wa GPU kupakua na kusakinisha madereva muhimu.
b. Washa usaidizi wa utatuzi wa i915 katika Kernel:
a. Fungua terminal.
b. Fungua grub file katika /etc/default.
c. Katika grub file, pata mstari GRUB_CMDLINE_LINUX_DEFAULT=””.
d. Weka maandishi yafuatayo kati ya nukuu (“”):
i915.debug_eu=1
KUMBUKA Kwa chaguomsingi, kiendeshi cha GPU hakiruhusu mzigo wa kazi kufanya kazi kwenye GPU kwa muda mrefu zaidi ya muda fulani. Dereva huua mzigo wa kazi wa muda mrefu kwa kuweka upya GPU ili kuzuia hangs. Utaratibu wa hangcheck wa dereva umezimwa ikiwa programu inaendeshwa chini ya kitatuzi. Ikiwa unapanga kutekeleza mizigo mirefu ya kazi pia bila kitatuzi kuambatishwa, zingatia kutuma maombi GPU: Zima Hangcheck kwa kuongeza
i915.enable_hangcheck=0
sawa Laini ya GRUB_CMDLINE_LINUX_DEFAULT.
c. Sasisha GRUB ili mabadiliko haya yaanze kutumika:
sudo update-grub
d. Washa upya.
2. Sanidi mazingira yako ya CLI kwa kupata hati ya setvars iliyo kwenye mzizi wa usakinishaji wa kisanduku chako cha zana.
Linux (sudo):
chanzo /opt/intel/oneapi/setvars.sh
Linux (mtumiaji):
chanzo ~/intel/oneapi/setvars.sh
3. Kuweka mazingira
Tumia vigezo vifuatavyo vya mazingira ili kuwezesha usaidizi wa kitatuzi kwa Intel® oneAPI Level Zero:
hamisha ZET_ENABLE_PROGRAM_DEBUGGING=1
hamisha IGC_EnableGTLocationDebugging=1
4. Ukaguzi wa mfumo
Wakati kila kitu kiko tayari, tafadhali endesha amri ifuatayo ili kuthibitisha kwamba usanidi wa mfumo ni wa kuaminika:
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py -chuja debugger_sys_check -force
Matokeo yanayowezekana ya mfumo uliosanidiwa vizuri ni kama ifuatavyo.
…
Huangalia matokeo:
================================================= ===============================
Angalia jina: debugger_sys_check
Maelezo: Hundi hii inathibitisha kama mazingira yako tayari kutumia gdb (Intel(R) Distribution kwa GDB*).
Hali ya matokeo: PASS
Kitatuzi kimepatikana.
libipt kupatikana.
libiga kupatikana.
utatuzi wa i915 umewashwa.
Vigezo vya mazingira ni sahihi. ================================================= =================================
ANGALIA 1: PASI 1, 0 IMESHINDWA, 0 MAONYO, MAKOSA 0
Pato la Console file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt pato la JSON file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …
Kusanya Mpango na Taarifa ya Utatuzi
Unaweza kutumia sample mradi, Array Transform, ili kuanza haraka na kitatuzi cha programu.
1. Ili kupata sample, chagua mojawapo ya njia zifuatazo:
- Tumia oneAPI CLI Sampchini ya Kivinjari kuchagua Array Transform kutoka kategoria ya Anza.
- Pakua kutoka GitHub*.
2. Nenda kwenye src ya sampmradi huu:
safu ya cd-kubadilisha/src
3. Kusanya programu kwa kuwezesha maelezo ya utatuzi (- bendera ya-g) na kuzima uboreshaji (- bendera -O0).
Kuzima uboreshaji kunapendekezwa kwa mazingira thabiti na sahihi ya utatuzi. Hii husaidia kuzuia mkanganyiko unaosababishwa na mabadiliko ya nambari baada ya uboreshaji wa mkusanyaji.
KUMBUKA Bado unaweza kukusanya programu kwa uboreshaji kuwezeshwa (-O2 bendera), ambayo inaweza kusaidia ikiwa unalenga utatuzi wa mkusanyiko wa GPU.
Unaweza kukusanya programu kwa njia kadhaa. Chaguo 1 na 2 hutumia mkusanyiko wa wakati tu (JIT), ambao unapendekezwa kutatua s.ample. Chaguo la 3 hutumia mkusanyiko wa kabla ya wakati (AOT).
- Chaguo 1. Unaweza kutumia CMake file kusanidi na kuunda programu. Rejea kwenye SOMA ya sample kwa maelekezo.
KUMBUKA CMake file zinazotolewa na sample tayari hupitisha -g -O0 bendera.
- Chaguo 2. Kukusanya safu-transform.cpp sample maombi bila CMake file, toa amri zifuatazo:
icpx -fsycl -g -O0 safu-transform.cpp -o safu-badilisha
Ikiwa ujumuishaji na uunganisho unafanywa kando, hifadhi -g -O0 bendera kwenye hatua ya kiungo. Hatua ya kuunganisha ni wakati icpx inatafsiri bendera hizi kupitishwa kwa mkusanyaji wa kifaa wakati wa utekelezaji. Kwa mfanoample:
icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 safu-badilisha.o -o safu-badilisha
- Chaguo la 3. Unaweza kutumia mkusanyiko wa AOT ili kuepuka muda mrefu wa utungaji wa JIT wakati wa utekelezaji. Ukusanyaji wa JIT unaweza kuchukua muda mrefu zaidi kwa kokwa kubwa chini ya kitatuzi. Ili kutumia hali ya ujumuishaji wa Kabla ya Wakati:
• Kwa utatuzi kwenye GPU:
Taja kifaa ambacho utatumia kwa utekelezaji wa programu. Kwa mfanoample, -device dg2-g10 kwa Intel® Data Center GPU Flex 140 Graphics. Kwa orodha ya chaguo zinazotumika na habari zaidi juu ya ujumuishaji wa AOT, rejelea Mwongozo na Marejeleo ya Wasanidi Programu wa Intel® oneAPI DPC++.
Kwa mfanoample:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform
Ukusanyaji wa Muda wa Mbele unahitaji Kikusanyaji cha OpenCLTM Offline (OC Mkusanyaji LOC). Kwa maelezo zaidi, rejelea sehemu ya "Sakinisha Kikusanyaji cha OpenCLTM Offline (OCLOC)" cha Mwongozo wa Ufungaji.
• Kwa utatuzi kwenye CPU:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o array-transform
Anzisha Kipindi cha Utatuzi
Anzisha kipindi cha utatuzi:
1. Anzisha Usambazaji wa Intel® kwa GDB* kama ifuatavyo:
gdb-oneapi safu-kubadilisha
Unapaswa kuona arifa ya (gdb).
2. Ili kuhakikisha kwamba kernel imepakuliwa kwenye kifaa sahihi, fanya hatua zifuatazo. Unapotoa amri ya kukimbia kutoka kwa (gdb) haraka, pitisha faili ya cpu, gpu or kiongeza kasi hoja:
- Kwa utatuzi kwenye CPU:
kukimbia CPU
Exampmatokeo ya:
[SYCL] Kwa kutumia kifaa: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] kutoka [Intel(R) OpenCL]- Kwa kurekebisha kwenye GPU:
endesha gpu
Exampmatokeo ya:
[SYCL] Kwa kutumia kifaa: [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] kutoka [Intel(R) LevelZero]- Kwa utatuzi kwenye emulator ya FPGA:
endesha kiongeza kasi
Exampmatokeo ya:
[SYCL] Kwa kutumia kifaa: [Intel(R) FPGA Kifaa cha Kuiga] kutoka kwa [Intel(R) FPGA Emulation Platform for OpenCL(TM) programu]KUMBUKA Vigezo vya cpu, gpu, na kichapuzi ni maalum kwa programu ya Array Transform.
3. Ili kuacha Usambazaji wa Intel® kwa GDB*:
acha
Kwa manufaa yako, amri za kawaida za Intel® Distribution kwa GDB* zimetolewa katika faili ya Karatasi ya Marejeleo.
Ili kutatua Array Transform sample na upate maelezo zaidi kuhusu Intel® Distribution kwa GDB*, pitia matukio ya kimsingi ya utatuzi kwa kutumia Mafunzo.
Jifunze Zaidi
Hati | Maelezo |
Mafunzo: Kutatua kwa Intel® Distribution kwa GDB* | Hati hii inafafanua matukio ya msingi ya kufuata wakati wa kutatua SYCL* na OpenCL kwa Intel® Distribution kwa GDB*. |
Usambazaji wa Intel® kwa Mwongozo wa Mtumiaji wa GDB* | Hati hii inaelezea kazi zote za kawaida ambazo unaweza kukamilisha kwa Intel® Distribution kwa GDB* na hutoa maelezo muhimu ya kiufundi. |
Usambazaji wa Intel® kwa GDB* Vidokezo vya Utoaji | Madokezo yana maelezo kuhusu uwezo muhimu, vipengele vipya, na masuala yanayojulikana ya Intel® Distribution kwa GDB*. |
Ukurasa wa Bidhaa wa oneAPI | Ukurasa huu una utangulizi mfupi wa zana za zana za API na viungo vya nyenzo muhimu. |
Usambazaji wa Intel® kwa Laha ya Marejeleo ya GDB* | Hati hii ya ukurasa mmoja inafafanua kwa ufupi Usambazaji wa Intel® kwa ajili ya mahitaji ya awali ya GDB* na amri muhimu. |
Jacobi Sample | Programu hii ndogo ya SYCL* ina matoleo mawili: yaliyo na hitilafu na yasiyohamishika. Tumia sample kutumia utatuzi wa programu kwa Intel® Distribution kwa GDB*. |
Matangazo na Kanusho
Teknolojia za Intel zinaweza kuhitaji vifaa, programu au uanzishaji wa huduma.
Hakuna bidhaa au sehemu inaweza kuwa salama kabisa.
Gharama na matokeo yako yanaweza kutofautiana.
© Intel Corporation. Intel, nembo ya Intel, na alama zingine za Intel ni chapa za biashara za Intel Corporation au kampuni zake tanzu. Majina na chapa zingine zinaweza kudaiwa kama mali ya wengine.
Hakuna leseni (ya kueleza au kudokezwa, kwa njia ya estoppel au vinginevyo) kwa haki zozote za uvumbuzi inatolewa na hati hii.
Bidhaa zilizoelezewa zinaweza kuwa na kasoro za muundo au hitilafu zinazojulikana kama errata ambayo inaweza kusababisha bidhaa kupotoka kutoka kwa vipimo vilivyochapishwa. Makosa ya sasa yanapatikana kwa ombi.
Intel inakanusha dhamana zote zilizo wazi na zilizodokezwa, ikijumuisha bila kikomo, dhamana zilizodokezwa za uuzaji, kufaa kwa madhumuni mahususi, na kutokiuka, pamoja na dhamana yoyote inayotokana na mwendo wa utendaji, shughuli, au matumizi katika biashara.
OpenCL na nembo ya OpenCL ni chapa za biashara za Apple Inc. zinazotumiwa kwa ruhusa na Khronos.
Nyaraka / Rasilimali
![]() |
Intel Distribution kwa GDB kwenye Linux OS Host [pdf] Mwongozo wa Mtumiaji Usambazaji wa GDB kwenye Linux OS Host, GDB kwenye Linux OS Host, Linux OS Host, OS Host, Host |