Бо Intel® Distribution for GDB* дар Linux* OS Host оғоз кунед

Истифодаи Intel® Distribution for GDB*-ро барои ислоҳи барномаҳо оғоз кунед. Дастурҳои зерро иҷро кунед, то ислоҳкунандаро барои ислоҳи барномаҳо бо ядроҳое, ки ба дастгоҳҳои CPU ва GPU бор карда шудаанд, насб кунед.

Intel® Distribution for GDB* ҳамчун як қисми асбобҳои асосии Intel® oneAPI дастрас аст. Барои маълумоти бештар дар бораи асбобҳои oneAPI, боздид кунед саҳифаи маҳсулот.

Боздид кунед Қайдҳои нашр саҳифа барои маълумот дар бораи қобилиятҳои асосӣ, хусусиятҳои нав ва масъалаҳои маълум.

Шумо метавонед SYCL*-ро истифода баредampрамзи le, Array Transform, барои оғози кор бо Intel® Distribution for GDB*. Сample хатогиҳоро тавлид намекунад ва танҳо хусусиятҳои ислоҳкуниро нишон медиҳад. Рамз унсурҳои массиви вурудро вобаста ба ҷуфт ё тоқ будани онҳо коркард мекунад ва массиви баромадро тавлид мекунад. Шумо метавонед s-ро истифода баредample барои ислоҳ кардан дар CPU ё GPU, муайян кардани дастгоҳи интихобшуда тавассути далели сатри фармон. Дар хотир доред, ки ислоҳи GPU метавонад ду система ва конфигуратсияи иловагиро барои ислоҳи дурдаст талаб кунад.

Шартҳои пешакӣ

Агар шумо ният доред, ки дар GPU ислоҳ кунед, драйверҳои охирини GPU-ро насб кунед ва системаи худро барои истифодаи онҳо танзим кунед. Ба Дастури насби асбобҳои Intel® oneAPI барои OS Linux*. Дастурҳоро риоя кунед Драйверҳои Intel GPU насб кунед барои насб кардани драйверҳои GPU, ки ба системаи шумо мувофиқанд.

Илова бар ин, шумо метавонед васеъкуниро барои Visual Studio Code* барои ислоҳи GPU бо Intel® Distribution for GDB* насб кунед. Ба Истифодаи Visual Studio Code бо дастури асбобҳои Intel® oneAPI.

Debugger GPU-ро насб кунед

Барои насб кардани debugger GPU, шумо бояд дастрасии реша дошта бошед.


ШАРҲ Ҳангоми ислоҳи ядро, GPU қатъ карда мешавад ва баромади видео дар мошини мавриди ҳадафи шумо дастрас нест. Аз ин сабаб, шумо наметавонед GPU-ро аз системаи мақсаднок ислоҳ кунед, агар корти GPU-и система низ барои баромади графикӣ истифода шавад. Дар ин ҳолат, ба мошин тавассути ssh пайваст шавед.


1. Агар шумо ният доред, ки дар GPU ислоҳ кунед, ядрои Linux лозим аст, ки ислоҳи GPU-ро дастгирӣ мекунад.

a. Ба дастурҳои дар Нармафзори Intel® барои имкониятҳои GPU таъиноти умумӣ барои зеркашӣ ва насб кардани драйверҳои зарурӣ.
b. Дастгирии ислоҳи i915-ро дар ядро ​​​​фаъол кунед:

a. Терминал кушоед.
b. Гурҷро кушоед file дар /etc/default.
c. Дар гуру file, хати GRUB_CMDLINE_LINUX_DEFAULT=””-ро пайдо кунед.
d. Матни зеринро дар байни нохунакҳо ворид кунед (“”):

i915.debug_eu=1


ШАРҲ Бо нобаёнӣ, драйвери GPU иҷозат намедиҳад, ки сарбории корӣ дар GPU аз вақти муайян дарозтар кор кунад. Ронанда чунин сарбории дарозмуддатро тавассути барқарор кардани GPU барои пешгирӣ кардани овезон мекушад. Механизми санҷиши ронанда ғайрифаъол аст, агар барнома дар зери ислоҳкунанда кор кунад. Агар шумо нақша доред, ки сарбории кории тӯлонии ҳисоббарориро бидуни замима кардани ислоҳкунанда иҷро кунед, муроҷиат кунед 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) Distribution for GDB*).
Ҳолати натиҷа: PASS
Debugger ёфт.
либипт ёфт.
лига ёфт.
debug 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-ро истифода баредample лоиҳаи Array Transform, барои зуд оғоз кардани ислоҳкунандаи барнома.

1. Барои гирифтани сample, яке аз роҳҳои зеринро интихоб кунед:

2. Ба src-и s гузаредampлоиҳа:

cd array-transform/src

3. Барномаро тавассути фаъол кардани маълумоти хатогиҳо (-g flag) ва хомӯш кардани оптимизатсия (парчами -O0) тартиб диҳед.
Хомӯш кардани оптимизатсия барои муҳити устувор ва дақиқи debug тавсия дода мешавад. Ин барои пешгирӣ кардани нофаҳмиҳо дар натиҷаи тағирот ба код пас аз оптимизатсияи компилятор кӯмак мекунад.


ШАРҲ Шумо ба ҳар ҳол метавонед барномаро бо оптимизатсия фаъол тартиб диҳед (парчами -O2), ки он метавонад муфид бошад, агар шумо ҳадафи ислоҳи анҷумани GPU бошад.


Шумо метавонед барномаро бо чанд роҳ тартиб диҳед. Вариантҳои 1 ва 2 маҷмӯи пурраи вақт (JIT) -ро истифода мебаранд, ки барои ислоҳи хатогиҳо тавсия дода мешавад.ampле. Варианти 3 компиляцияи пешакӣ (AOT) -ро истифода мебарад.

  • Варианти 1. Шумо метавонед CMake -ро истифода баред file барои танзим ва сохтани барнома. Ба README аз сampбарои дастурҳо.

ШАРҲ CMake file бо с таъмин карда шудаастample аллакай аз байракхои -g -O0 мегузарад.


  • Варианти 2. Барои тартиб додани array-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 array-transform.o -o массив-трансформатсия

  • Варианти 3. Шумо метавонед компилясияи AOT-ро истифода баред, то аз вақти тӯлонии JIT ҷамъоварӣ дар вақти корӣ канорагирӣ кунед. Ҷамъоварии JIT метавонад барои ядроҳои калон дар зери ислоҳкунанда ба таври назаррас тӯл кашад. Барои истифодаи режими тартиб додани пеш аз вақт:

• Барои ислоҳи ислоҳ дар GPU:
Дастгоҳеро, ки шумо барои иҷрои барнома истифода мекунед, муайян кунед. Барои мисолampле, -дастгоҳ dg2-g10 барои Intel® Маркази маълумот GPU Flex 140 Графикаи. Барои рӯйхати имконоти дастгирӣшаванда ва маълумоти бештар дар бораи тартиб додани 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)" -и Дастури насб.

• Барои ислоҳи ислоҳи CPU:

icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o массиви трансформ

Ҷаласаи ислоҳро оғоз кунед

Сеанси дебагро оғоз кунед:

1. Intel® Distribution барои GDB*-ро ба таври зерин оғоз кунед:

gdb-oneapi массив-табдил додан

Шумо бояд дархости (gdb) -ро бинед.

2. Барои боварӣ ҳосил кардани он, ки ядро ​​​​ба дастгоҳи дуруст бор карда шудааст, қадамҳои зеринро иҷро кунед. Вақте, ки шумо фармони иҷроро аз дархости (gdb) иҷро мекунед, -ро гузаред ВПМ - Воҳиди Пардозиши Марказӣ, gpu or суръатбахш далел:

  • Барои ислоҳи ислоҳи CPU:

CPU-ро иҷро кунед

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] аз [Платформаи эмулятории Intel(R) FPGA барои нармафзори OpenCL(TM)]

ШАРҲ Параметрҳои cpu, gpu ва суръатбахш барои барномаи Array Transform хосанд.


3. Барои баромадан аз Distribution Intel® барои GDB*:

тарк кардан

Барои роҳати шумо фармонҳои умумии Intel® Distribution барои GDB* дар Варақаи истинод.

Барои ислоҳи Array Transform sample ва дар бораи Intel® Distribution for GDB* маълумоти бештар гиред, бо истифода аз сенарияҳои асосии ислоҳи хатогиҳо гузаред. Дарсӣ.

Бисёр омӯхтан
Ҳуҷҷат Тавсифи
Дарсӣ: Debugging бо Intel® Distribution for GDB* Ин ҳуҷҷат сенарияҳои асосиро ҳангоми ислоҳи SYCL* ва OpenCL бо Intel® Distribution for GDB* тавсиф мекунад.
Intel® Distribution барои GDB* Дастури корбар Ин ҳуҷҷат ҳамаи вазифаҳои умумиеро, ки шумо метавонед бо Intel® Distribution for GDB* иҷро карда метавонед, тавсиф мекунад ва тафсилоти техникии заруриро пешниҳод мекунад.
Intel® Distribution барои GDB* Қайдҳои релиз Дар ёддоштҳо маълумот дар бораи қобилиятҳои асосӣ, хусусиятҳои нав ва масъалаҳои маълуми Intel® Distribution for GDB* мавҷуд аст.
Саҳифаи маҳсулоти oneAPI Ин саҳифа муқаддимаи мухтасар дар бораи абзорҳои oneAPI ва истинодҳо ба захираҳои муфидро дар бар мегирад.
Intel® Distribution барои GDB* Варақаи истинод Ин ҳуҷҷати яксаҳифа ба таври мухтасар шартҳои пешакии Intel® Distribution барои GDB* ва фармонҳои муфидро тавсиф мекунад.
Якоби Сample Ин барномаи хурди SYCL* ду версия дорад: хатогиҳо ва ислоҳшуда. s-ро истифода баредampбо истифода аз Intel® Distribution for GDB* ислоҳи барномаҳоро амалӣ созед.
Огоҳиҳо ва Радди Радди

Технологияҳои Intel метавонад сахтафзор, нармафзор ё фаъолсозии хидматро талаб кунад.

Ягон маҳсулот ё ҷузъе комилан бехатар буда наметавонад.

Хароҷоти шумо ва натиҷаҳои шумо метавонанд фарқ кунанд.

© Корпоратсияи Intel. Intel, логотипи Intel ва дигар тамғаҳои Intel тамғаҳои тиҷоратии Intel Corporation ё филиалҳои он мебошанд. Дигар номҳо ва брендҳо метавонанд ҳамчун моликияти дигарон даъво карда шаванд.

Дар ин ҳуҷҷат ҳеҷ гуна иҷозатнома ба ягон ҳуқуқи моликияти зеҳнӣ (иҷозатнома ё дар назар дошташуда) дода намешавад.

Маҳсулоти тавсифшуда метавонанд дорои нуқсонҳои тарҳрезӣ ё хатогиҳое бошанд, ки бо номи errata маълуманд, ки метавонанд боиси дур шудани маҳсулот аз мушаххасоти нашршуда шаванд. Хатогиҳои ҷории тавсифшуда тибқи дархост дастрасанд.

Intel ҳама кафолатҳои возеҳ ва дар назар дошташуда, аз ҷумла бидуни маҳдудият, кафолатҳои пешбинишудаи тиҷоратӣ, мувофиқат ба ҳадафи мушаххас ва вайрон накардани ҳуқуқ, инчунин ҳама гуна кафолатҳоеро, ки аз рафти иҷроиш, рафти муомилот ё истифода дар тиҷорат бармеоянд, рад мекунад.

OpenCL ва логотипи OpenCL тамғаҳои тиҷоратии Apple Inc. мебошанд, ки бо иҷозати Khronos истифода мешаванд.

Ҳуҷҷатҳо / Сарчашмаҳо

Intel Distribution барои GDB дар Linux OS Host [pdf] Дастури корбар
Тақсимоти GDB дар Linux OS Host, GDB дар Linux OS Host, Linux OS Host, Host OS, Host

Иқтибосҳо

Назари худро гузоред

Суроғаи почтаи электронии шумо нашр намешавад. Майдонҳои зарурӣ қайд карда шудаанд *