Linux* ОЖ хостында GDB* үшін Intel® Distribution бағдарламасын іске қосыңыз

Қолданбаларды түзету үшін Intel® Distribution for GDB* пайдалануды бастаңыз. Орталық процессор мен GPU құрылғыларына жүктелген ядролары бар қолданбаларды жөндеу үшін жөндеу құралын орнату үшін төмендегі нұсқауларды орындаңыз.

Intel® Distribution for GDB* Intel® oneAPI Base Toolkit бөлігі ретінде қол жетімді. oneAPI құралдар жинағы туралы қосымша ақпарат алу үшін мына сайтқа кіріңіз өнім беті.

-ге барыңыз Шығарылым жазбалары негізгі мүмкіндіктер, жаңа мүмкіндіктер және белгілі мәселелер туралы ақпарат алу үшін бет.

SYCL* s пайдалана аласызampGDB* үшін Intel® Distribution-мен жұмыс істеуді бастау үшін, Array Transform коды. сample қателерді тудырмайды және жай жөндеуші мүмкіндіктерін суреттейді. Код кіріс массивінің элементтерін олардың жұп немесе тақ болуына байланысты өңдейді және шығыс массивін шығарады. s пайдалана аласызampпәрмен жолы аргументі арқылы таңдалған құрылғыны көрсете отырып, CPU немесе GPU екеуінде де жөндеу үшін. GPU жөндеуі қашықтан жөндеу үшін екі жүйені және қосымша конфигурацияны қажет етуі мүмкін екенін ескеріңіз.

Алғы шарттар

GPU жүйесінде жөндеуді мақсат етсеңіз, соңғы GPU драйверлерін орнатыңыз және оларды пайдалану үшін жүйеңізді конфигурациялаңыз. сілтемесін қараңыз Linux* ОЖ үшін Intel® oneAPI Toolkits орнату нұсқаулығы. Нұсқауларды орындаңыз Intel GPU драйверлерін орнатыңыз жүйеңізге сәйкес GPU драйверлерін орнату үшін.

Сонымен қатар, GDB* үшін Intel® Distribution көмегімен GPU жөндеуге арналған Visual Studio Code* кеңейтімін орнатуға болады. сілтемесін қараңыз Visual Studio кодын Intel® oneAPI құралдар жинағы нұсқаулығымен пайдалану.

GPU жөндеу құралын орнатыңыз

GPU жөндеу құралын орнату үшін сізде түбірлік қатынас болуы керек.


ЕСКЕРТУ Ядро жөндеу кезінде GPU тоқтатылады және бейне шығысы мақсатты құрылғыда қолжетімсіз болады. Осыған байланысты, егер жүйенің GPU картасы графикалық шығыс үшін де пайдаланылса, мақсатты жүйеден GPU жөндеу мүмкін емес. Бұл жағдайда ssh арқылы құрылғыға қосылыңыз.


1. GPU жүйесінде жөндеуді мақсат етсеңіз, GPU жөндеуді қолдайтын Linux ядросы қажет.

a. мекенжайындағы нұсқауларды орындаңыз Жалпы мақсаттағы GPU мүмкіндіктеріне арналған Intel® бағдарламалық құралы қажетті драйверлерді жүктеп алу және орнату.
b. Ядрода i915 жөндеу қолдауын қосыңыз:

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. Құралдар жинағы орнату түбірінде орналасқан setvars сценарийін алу арқылы CLI ортасын орнатыңыз.

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 –filter debugger_sys_check -force

Жақсы конфигурацияланған жүйенің ықтимал шығысы келесідей:


Тексеру нәтижелері:
================================================== ================================
Тексеру атауы: debugger_sys_check
Сипаттама: Бұл тексеру ортаның gdb (GDB үшін Intel(R) Distribution*) пайдалануға дайын екенін тексереді.
Нәтиже күйі: ӨТУ
Түзеткіш табылды.
libipt табылды.
либига табылды.
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 …

Бағдарламаны жөндеу туралы ақпаратпен құрастырыңыз

s пайдалана аласызampҚолданбаның отладкасымен жылдам бастау үшін, Array Transform жобасы.

1. s алу үшінample, келесі жолдардың кез келгенін таңдаңыз:

2. s әрпінің src жолына өтіңізampжоба:

cd array-transform/src

3. Түзету ақпаратын қосу (-g жалауы) және оңтайландыруларды өшіру (-O0 жалауы) арқылы қолданбаны құрастырыңыз.
Тұрақты және дәл жөндеу ортасы үшін оңтайландыруды өшіру ұсынылады. Бұл компиляторды оңтайландырудан кейін кодты өзгертуден туындаған шатасуды болдырмауға көмектеседі.


ЕСКЕРТУ Сіз әлі де бағдарламаны оңтайландыру қосылған (-O2 жалаушасы) арқылы құрастыра аласыз, ол GPU құрастыруын жөндеуді мақсат еткен жағдайда пайдалы болуы мүмкін.


Бағдарламаны бірнеше жолмен құрастыруға болады. 1 және 2 опциялары уақытында (JIT) компиляциясын пайдаланады.ampле. 3-нұсқа мерзімінен бұрын (AOT) құрастыруды пайдаланады.

  • 1-параметр. CMake қолданбасын пайдалануға болады file қолданбаны конфигурациялау және құру үшін. сілтемесін қараңыз README сampнұсқаулар үшін.

ЕСКЕРТУ CMake file с-пен қамтамасыз етілгенample қазірдің өзінде -g -O0 жалауларынан өтеді.


  • 2-параметр. array-transform.cpp s құрастыру үшінampCMake қолданбасы file, келесі пәрмендерді шығарыңыз:

icpx -fsycl -g -O0 массив-transform.cpp -o массив-түрлендіру

Егер жинақтау және байланыстыру бөлек орындалса, сілтеме қадамында -g -O0 жалаушаларын сақтаңыз. Сілтеме қадамы icpx осы жалаушаларды орындалу уақытында құрылғы компиляторына жіберу үшін аударады. Мысалыampле:

icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 массив-transform.o -o массив-түрлендіру

  • 3-параметр. Орындалу уақытында ұзағырақ JIT құрастыру уақытын болдырмау үшін AOT компиляциясын пайдалануға болады. JIT компиляциясы отладчиктің астындағы үлкен ядролар үшін айтарлықтай ұзағырақ уақыт алуы мүмкін. Алдын ала құрастыру режимін пайдалану үшін:

• GPU жүйесінде жөндеу үшін:
Бағдарламаны орындау үшін қолданылатын құрылғыны көрсетіңіз. Мысалыample, -Intel® Data Center GPU Flex 2 Graphics үшін dg10-g140 құрылғысы. Қолдау көрсетілетін опциялар тізімі және AOT құрастыру туралы қосымша ақпаратты қараңыз Intel® oneAPI DPC++ компиляторының әзірлеушісіне арналған нұсқаулық және анықтама.
Мысалыampле:

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

Уақытынан бұрын құрастыру OpenCLTM офлайн компиляторын (OC Compiler LOC) қажет етеді. Қосымша ақпаратты «OpenCLTM Offline Compiler (OCLOC) орнату» бөлімін қараңыз Орнату нұсқаулығы.

• Орталық процессордағы жөндеу үшін:

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

Түзету сеансын бастаңыз

Түзету сеансын бастаңыз:

1. GDB* үшін Intel® Distribution бағдарламасын келесідей бастаңыз:

gdb-oneapi массивін түрлендіру

(gdb) шақыруын көруіңіз керек.

2. Ядроның дұрыс құрылғыға жүктелгеніне көз жеткізу үшін келесі қадамдарды орындаңыз. (gdb) шақыруынан іске қосу пәрменін орындаған кезде, өтіңіз CPU, gpu or үдеткіш аргумент:

  • Орталық процессордағы жөндеу үшін:

cpu іске қосыңыз

Exampшығару:

[SYCL] Құрылғыны пайдалану: [Intel(R) Core(TM) i7-9750H CPU @ 2.60 ГГц] [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 эмуляция құрылғысы] [OpenCL(TM) бағдарламалық құралына арналған Intel(R) FPGA эмуляция платформасы]

ЕСКЕРТУ CPU, gpu және үдеткіш параметрлері Array Transform қолданбасына тән.


3. Intel® Distribution for GDB* жүйесінен шығу үшін:

шығу

Сізге ыңғайлы болу үшін GDB* үшін жалпы Intel® Distribution командалары мына бөлімде берілген Анықтама парағы.

Массивті түрлендіруді жөндеу үшін sampжәне Intel® Distribution for GDB* туралы көбірек біліңіз, Оқулық.

Көбірек білу үшін
Құжат Сипаттама
Оқулық: GDB үшін Intel® Distribution көмегімен жөндеу* Бұл құжат GDB* үшін Intel® Distribution көмегімен SYCL* және OpenCL жөндеу кезінде орындалатын негізгі сценарийлерді сипаттайды.
Intel® Distribution for GDB* пайдаланушы нұсқаулығы Бұл құжат Intel® Distribution for GDB* көмегімен орындауға болатын барлық жалпы тапсырмаларды сипаттайды және қажетті техникалық мәліметтерді береді.
Intel® Distribution for GDB* шығарылым жазбалары Ескертпелер Intel® Distribution for GDB* бағдарламасының негізгі мүмкіндіктері, жаңа мүмкіндіктері және белгілі мәселелері туралы ақпаратты қамтиды.
oneAPI өнім беті Бұл бетте oneAPI құралдар жинағы туралы қысқаша кіріспе және пайдалы ресурстарға сілтемелер бар.
Intel® Distribution for GDB* анықтамалық парағы Бұл бір беттік құжат Intel® Distribution for GDB* алғышарттары мен пайдалы пәрмендерді қысқаша сипаттайды.
Якоби Сample Бұл шағын SYCL* қолданбасының екі нұсқасы бар: қателері бар және түзетілген. s пайдаланыңызampGDB* үшін Intel® Distribution көмегімен қолданбаны жөндеуді орындау.
Ескертулер мен жауапкершіліктен бас тарту

Intel технологиялары қосылған жабдықты, бағдарламалық жасақтаманы немесе қызметті қосуды қажет етуі мүмкін.

Ешқандай өнім немесе компонент мүлдем қауіпсіз бола алмайды.

Сіздің шығындарыңыз бен нәтижелеріңіз әртүрлі болуы мүмкін.

© Intel корпорациясы. Intel, Intel логотипі және басқа Intel белгілері Intel корпорациясының немесе оның еншілес компанияларының сауда белгілері болып табылады. Басқа атаулар мен брендтер басқалардың меншігі ретінде талап етілуі мүмкін.

Бұл құжат кез келген зияткерлік меншік құқықтарына ешқандай лицензия бермейді (анық немесе жанама, тыйым салу арқылы немесе басқаша).

Сипатталған өнімдерде дизайн ақаулары немесе қателер деп аталатын қателер болуы мүмкін, бұл өнімнің жарияланған техникалық сипаттамалардан ауытқуына әкелуі мүмкін. Ағымдағы сипатталған қателер сұраныс бойынша қол жетімді.

Intel саудаға жарамдылық, белгілі бір мақсатқа жарамдылық және бұзылмау туралы болжамды кепілдіктерді қоса алғанда, шектеусіз барлық айқын және жанама кепілдіктерден, сондай-ақ өнімділік барысы, мәміле барысы немесе саудада пайдаланудан туындайтын кез келген кепілдіктерден бас тартады.

OpenCL және OpenCL логотипі Apple Inc. компаниясының Khronos рұқсатымен пайдаланылатын сауда белгілері болып табылады.

Құжаттар / Ресурстар

Linux ОЖ хостындағы GDB үшін intel Distribution [pdf] Пайдаланушы нұсқаулығы
Linux ОЖ хостындағы GDB үшін тарату, Linux ОЖ хостындағы GDB, Linux ОЖ хосты, ОЖ хосты, Хост

Анықтамалар

Пікір қалдырыңыз

Электрондық пошта мекенжайыңыз жарияланбайды. Міндетті өрістер белгіленген *