Սկսեք 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, ընտրեք հետևյալ եղանակներից որևէ մեկը.

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 հոսթ, հոսթ

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *