Սկսեք Intel® Distribution-ը GDB*-ի համար Linux* OS հոսթում
Սկսեք օգտագործել Intel® Distribution-ը GDB*-ի համար՝ հավելվածների վրիպազերծման համար: Հետևեք ստորև բերված հրահանգներին՝ վրիպազերծիչը կարգավորելու համար՝ CPU և GPU սարքերում բեռնաթափված միջուկներով հավելվածները վրիպազերծելու համար:
Intel® Distribution-ը GDB*-ի համար հասանելի է որպես Intel® oneAPI Base Toolkit-ի մաս: OneAPI գործիքների մասին լրացուցիչ տեղեկությունների համար այցելեք ապրանքի էջ.
Այցելեք Թողարկման նշումներ էջ՝ հիմնական հնարավորությունների, նոր հնարավորությունների և հայտնի խնդիրների մասին տեղեկությունների համար:
Դուք կարող եք օգտագործել SYCL* sampկոդ՝ Array Transform, Intel® Distribution-ը GDB*-ի համար սկսելու համար: Սample-ն սխալներ չի առաջացնում և պարզապես ցույց է տալիս վրիպազերծիչի առանձնահատկությունները: Կոդը մշակում է մուտքային զանգվածի տարրերը՝ կախված դրանց զույգ կամ կենտ լինելուց և արտադրում է ելքային զանգված։ Դուք կարող եք օգտագործել sample է կարգաբերել ինչպես պրոցեսորի, այնպես էլ GPU-ի վրա՝ նշելով ընտրված սարքը հրամանի տողի արգումենտի միջոցով: Այնուամենայնիվ, նկատի ունեցեք, որ GPU-ի վրիպազերծումը կարող է պահանջել երկու համակարգ և լրացուցիչ կոնֆիգուրացիա հեռավոր կարգաբերման համար:
Նախադրյալներ
Եթե նպատակ ունեք վրիպազերծել GPU-ում, տեղադրեք GPU-ի վերջին դրայվերները և կարգավորեք ձեր համակարգը դրանք օգտագործելու համար: Անդրադարձեք Intel® oneAPI Toolkits-ի տեղադրման ուղեցույց Linux* OS-ի համար. Հետևեք հրահանգներին Տեղադրեք Intel GPU վարորդներ ձեր համակարգին համապատասխան GPU-ի դրայվերներ տեղադրելու համար:
Բացի այդ, դուք կարող եք տեղադրել ընդլայնում Visual Studio Code-ի համար՝ GPU-ի վրիպազերծման համար Intel® Distribution-ով GDB*-ի համար: Անդրադարձեք Օգտագործելով Visual Studio կոդը Intel® oneAPI Toolkits ուղեցույցով.
Կարգավորեք GPU կարգաբերիչը
GPU կարգաբերիչը կարգավորելու համար դուք պետք է ունենաք արմատային մուտք:
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆ Միջուկի վրիպազերծման ժամանակ GPU-ն կանգ է առնում, և վիդեո ելքը անհասանելի է ձեր թիրախային մեքենայի վրա: Դրա պատճառով դուք չեք կարող վրիպազերծել GPU-ն թիրախային համակարգից, եթե համակարգի GPU քարտն օգտագործվում է նաև գրաֆիկական ելքի համար: Այս դեպքում միացրեք մեքենային ssh-ի միջոցով:
1. Եթե դուք նպատակ ունեք վրիպազերծել GPU-ում, ապա անհրաժեշտ է Linux միջուկ, որն աջակցում է GPU-ի վրիպազերծմանը:
a. Հետևեք հրահանգներին հետևյալ հասցեով Intel® ծրագրակազմ ընդհանուր նշանակության GPU հնարավորությունների համար ներբեռնելու և տեղադրելու համար անհրաժեշտ դրայվերները:
b. Միացնել i915 վրիպազերծման աջակցությունը Kernel-ում.
a. Բացեք տերմինալ:
b. Բացեք գորգը file /etc/default-ում:
c. Խոռոչի մեջ file, գտեք GRUB_CMDLINE_LINUX_DEFAULT=” տողը:
d. Մուտքագրեք հետևյալ տեքստը չակերտների միջև («»):
i915.debug_eu=1
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆ Լռելյայնորեն, GPU-ի դրայվերը թույլ չի տալիս, որ աշխատանքային բեռները որոշակի ժամանակից ավելի երկար աշխատեն GPU-ում: Վարորդը սպանում է նման երկարատև աշխատանքային բեռները՝ զրոյացնելով GPU-ն՝ կախվածությունից խուսափելու համար: Վարորդի hangcheck մեխանիզմն անջատված է, եթե հավելվածն աշխատում է վրիպազերծիչի տակ: Եթե դուք նախատեսում եք երկար հաշվարկել աշխատանքային ծանրաբեռնվածությունը նաև առանց վրիպազերծիչի միացման, մտածեք դիմելու մասին GPU՝ անջատել Hangcheck-ը ավելացնելով
i915.enable_hangcheck=0
նույնին GRUB_CMDLINE_LINUX_DEFAULT տող:
c. Թարմացրեք GRUB-ը, որպեսզի այս փոփոխություններն ուժի մեջ մտնեն.
sudo update-grub
d. Վերագործարկեք:
2. Ստեղծեք ձեր CLI միջավայրը՝ ստանալով setvars սկրիպտը, որը գտնվում է ձեր գործիքակազմի տեղադրման արմատում:
Linux (sudo):
աղբյուր /opt/intel/oneapi/setvars.sh
Linux (օգտագործող):
աղբյուր ~/intel/oneapi/setvars.sh
3. Կարգավորման միջավայր
Օգտագործեք հետևյալ միջավայրի փոփոխականները՝ Intel® oneAPI Level Zero-ի համար վրիպազերծիչի աջակցությունը միացնելու համար.
արտահանել ZET_ENABLE_PROGRAM_DEBUGGING=1
արտահանել IGC_EnableGTLocationDebugging=1
4. Համակարգի ստուգում
Երբ ամեն ինչ պատրաստ է, խնդրում ենք գործարկել հետևյալ հրամանը՝ հաստատելու, որ համակարգի կազմաձևը հուսալի է.
python3 /path/to/intel/oneapi/diagnostics/latest/diagnostics.py –ֆիլտր debugger_sys_check -force
Լավ կազմաձևված համակարգի հնարավոր արդյունքը հետևյալն է.
…
Ստուգումների արդյունքները.
================================================== ================================
Ստուգման անունը՝ debugger_sys_check
Նկարագրություն. Այս ստուգումը ստուգում է, թե արդյոք միջավայրը պատրաստ է օգտագործել gdb (Intel(R) բաշխում GDB*-ի համար):
Արդյունքի կարգավիճակը՝ ԱՆՑՆԵԼ
Վրիպազերծիչը գտնվեց:
libipt հայտնաբերվել.
libiga հայտնաբերվել.
i915 վրիպազերծումը միացված է:
Շրջակա միջավայրի փոփոխականները ճիշտ են: ================================================== =================================
1 ՍՏՈՒԳՈՒՄ. 1 ԱՆՑՈՒՄ, 0 ԱՆՑԱԾՈՒՄ, 0 ԶԳՈՒՇԱՑՈՒՄ, 0 ՍԽԱԼ
Վահանակի ելք file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt JSON ելք file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json…
Կազմեք ծրագիրը վրիպազերծման տեղեկատվության հետ
Դուք կարող եք օգտագործել sampնախագիծը, Array Transform-ը, արագ սկսելու հավելվածի վրիպազերծիչը:
1. Ստանալու համար սample, ընտրեք հետևյալ եղանակներից որևէ մեկը.
- Օգտագործեք oneAPI CLI Samples բրաուզեր Սկսելու համար կատեգորիայից Array Transform ընտրելու համար:
- Ներբեռնեք ից GitHub*.
2. Նավարկեք դեպի src-ըample նախագիծ:
cd array-transform/src
3. Կազմեք հավելվածը՝ միացնելով վրիպազերծման տվյալները (-g դրոշակ) և անջատելով օպտիմալացումները (-O0 դրոշակ):
Առաջարկվում է անջատել օպտիմալացումը կայուն և ճշգրիտ վրիպազերծման միջավայրի համար: Սա օգնում է խուսափել կոմպիլյատորների օպտիմալացումից հետո կոդի փոփոխություններից առաջացած շփոթությունից:
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆ Դուք դեռ կարող եք ծրագիրը կազմել՝ օպտիմիզացման միացված տարբերակով (-O2 դրոշակ), որը կարող է օգտակար լինել, եթե նպատակ ունեք GPU-ի հավաքման վրիպազերծմանը:
Ծրագիրը կարող եք կազմել մի քանի եղանակով. 1-ին և 2-րդ տարբերակները օգտագործում են հենց ժամանակի (JIT) կոմպիլյացիան, որը խորհուրդ է տրվում վրիպազերծել sampլե. Տարբերակ 3-ն օգտագործում է ժամանակից շուտ (AOT) կոմպիլյացիան:
- Տարբերակ 1. Դուք կարող եք օգտագործել CMake-ը file հավելվածը կարգավորելու և կառուցելու համար: Անդրադարձեք ԿԱՐԴԱԼ ի սampհրահանգների համար:
ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆ The CMake file ապահովված է սample-ն արդեն անցնում է -g -O0 դրոշակները:
- Տարբերակ 2. Զանգված-transform.cpp-ը կազմելու համար sampհայտ առանց CMake-ի file, թողարկեք հետևյալ հրամանները.
icpx -fsycl -g -O0 array-transform.cpp -o զանգված-փոխակերպում
Եթե կոմպիլյացիան և կապումը կատարվում են առանձին, ապա կապի քայլում պահպանեք -g -O0 դրոշները: Հղման քայլն այն է, երբ icpx-ը թարգմանում է այս դրոշները՝ գործարկման ժամանակ փոխանցելու սարքի կոմպիլյատորին: Օրինակ՝ampլե:
icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 զանգված-փոխակերպում.o -o զանգված-փոխակերպում
- Տարբերակ 3. Դուք կարող եք օգտագործել AOT կոմպիլյացիան՝ գործարկման ժամանակ JIT-ի կազմման ավելի երկար ժամանակներից խուսափելու համար: JIT կոմպիլյացիան կարող է զգալիորեն ավելի երկար տևել վրիպազերծիչի տակ գտնվող մեծ միջուկների համար: Ժամանակից շուտ հավաքման ռեժիմն օգտագործելու համար՝
• GPU-ում վրիպազերծման համար՝
Նշեք սարքը, որը դուք կօգտագործեք ծրագրի իրականացման համար: Նախample, -device dg2-g10 Intel® Data Center GPU Flex 140 Graphics-ի համար: Աջակցվող ընտրանքների ցանկի և AOT կազմման մասին լրացուցիչ տեղեկությունների համար տես Intel® oneAPI DPC++ Compiler Developer Guide and Reference.
Նախampլե:
icpx -fsycl -g -O0 -fsycl-targets=spir64_gen -Xs “-device dg2-g10” array-transform.cpp -o arraytransform
Ժամանակից շուտ հավաքելու համար անհրաժեշտ է OpenCLTM Offline Compiler (OC Compiler LOC): Լրացուցիչ տեղեկությունների համար տեսեք «Տեղադրեք OpenCLTM օֆլայն կոմպիլյատորը (OCLOC)» բաժինը Տեղադրման ուղեցույց.
• Պրոցեսորի վրա վրիպազերծման համար՝
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o զանգված-փոխակերպում
Սկսեք վրիպազերծման նստաշրջան
Սկսեք վրիպազերծման նիստը՝
1. Գործարկեք Intel® Distribution-ը GDB*-ի համար հետևյալ կերպ.
gdb-oneapi զանգված-փոխակերպում
Դուք պետք է տեսնեք (gdb) հուշումը:
2. Համոզվելու համար, որ միջուկը բեռնված է ճիշտ սարքում, կատարեք հետևյալ քայլերը. Երբ դուք կատարում եք run հրամանը (gdb) հուշումից, փոխանցեք պրոցեսոր, gpu or արագացուցիչ փաստարկ:
- Պրոցեսորի վրա վրիպազերծման համար՝
գործարկել պրոցեսորը
Exampելքը:
[SYCL] Սարքի օգտագործմամբ՝ [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] [Intel(R) OpenCL]-ից:- GPU-ում վրիպազերծման համար՝
գործարկել gpu
Exampելքը:
[SYCL] Օգտագործող սարք՝ [Intel(R) Data Center GPU Flex Series 140 [0x56c1]] [Intel(R) LevelZero]-ից:- FPGA-էմուլյատորում վրիպազերծելու համար.
վազել արագացուցիչ
Exampելքը:
[SYCL] Օգտագործելով սարքը. [Intel(R) FPGA Emulation Device] [Intel(R) FPGA Emulation Platform for OpenCL(TM) ծրագրաշարի համար]ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆ Cpu, gpu և accelerator պարամետրերը հատուկ են Array Transform հավելվածին:
3. GDB*-ի համար Intel® Distribution-ից դուրս գալու համար.
թողնել
Ձեր հարմարության համար ընդհանուր Intel® Distribution for GDB* հրամանները ներկայացված են Հղման թերթիկ.
Զանգվածի փոխակերպման վրիպազերծման համար sampև իմացեք ավելին Intel® Distribution-ի մասին GDB*-ի համար, անցեք վրիպազերծման հիմնական սցենարների միջոցով՝ օգտագործելով Ձեռնարկ.
Իմացեք ավելին
Փաստաթուղթ | Նկարագրություն |
Ձեռնարկ. վրիպազերծում Intel® Distribution-ով GDB*-ի համար | Այս փաստաթուղթը նկարագրում է հիմնական սցենարները, որոնք պետք է հետևել GDB*-ի համար Intel® Distribution-ով SYCL* և OpenCL-ը կարգաբերելիս: |
Intel® Distribution for GDB* Օգտագործողի ուղեցույց | Այս փաստաթուղթը նկարագրում է բոլոր սովորական առաջադրանքները, որոնք դուք կարող եք կատարել Intel® Distribution-ով GDB*-ի համար և տրամադրում է անհրաժեշտ տեխնիկական մանրամասներ: |
Intel® Distribution for GDB* Release Notes | Ծանոթագրությունները պարունակում են տեղեկատվություն հիմնական հնարավորությունների, նոր հնարավորությունների և GDB*-ի համար Intel® Distribution-ի հայտնի խնդիրների մասին: |
oneAPI արտադրանքի էջ | Այս էջը պարունակում է հակիրճ ներածություն oneAPI գործիքակազմի և օգտակար ռեսուրսների հղումներ: |
Intel® բաշխում GDB* տեղեկատու թերթիկի համար | Այս մեկ էջանոց փաստաթուղթը հակիրճ նկարագրում է Intel® Distribution-ը GDB* նախադրյալների և օգտակար հրամանների համար: |
Յակոբի Սample | Այս փոքրիկ SYCL* հավելվածն ունի երկու տարբերակ՝ շտկված և շտկված: Օգտագործեք sampկարող եք իրականացնել հավելվածների վրիպազերծում Intel® Distribution-ով GDB*-ի համար: |
Ծանուցումներ և հերքումներ
Intel-ի տեխնոլոգիաները կարող են պահանջել միացված ապարատային, ծրագրային ապահովում կամ ծառայության ակտիվացում:
Ոչ մի ապրանք կամ բաղադրիչ չի կարող բացարձակապես ապահով լինել:
Ձեր ծախսերն ու արդյունքները կարող են տարբեր լինել:
© Intel Corporation. Intel-ը, Intel-ի պատկերանշանը և Intel այլ նշանները Intel Corporation-ի կամ նրա դուստր ձեռնարկությունների ապրանքանիշերն են: Այլ անուններ և ապրանքանիշեր կարող են պահանջվել որպես ուրիշների սեփականություն:
Սույն փաստաթղթով որևէ լիցենզիա (բացահայտ կամ ենթադրյալ, էսթոպել կամ այլ կերպ) մտավոր սեփականության որևէ իրավունքի չի տրվում:
Նկարագրված ապրանքները կարող են պարունակել դիզայնի թերություններ կամ սխալներ, որոնք հայտնի են որպես սխալ, որոնք կարող են հանգեցնել արտադրանքի շեղմանը հրապարակված բնութագրերից: Ընթացիկ բնութագրված սխալները հասանելի են ըստ պահանջի:
Intel-ը հրաժարվում է բոլոր հստակ և ենթադրյալ երաշխիքներից, ներառյալ՝ առանց սահմանափակման, առևտրականության, որոշակի նպատակի համար համապատասխանության և ոչ խախտման ենթադրյալ երաշխիքները, ինչպես նաև ցանկացած երաշխիք, որը բխում է աշխատանքի ընթացքից, գործարքի ընթացքից կամ առևտրում օգտագործելուց:
OpenCL-ը և OpenCL լոգոն Apple Inc.-ի ապրանքանիշերն են, որոնք օգտագործվում են Khronos-ի թույլտվությամբ:
Փաստաթղթեր / ռեսուրսներ
![]() |
intel-ի բաշխում GDB-ի համար Linux OS հոսթի վրա [pdf] Օգտագործողի ուղեցույց GDB-ի բաշխում Linux OS հոսթում, GDB Linux OS հոսթում, Linux OS հոսթ, OS հոսթ, հոսթ |