Linux* OS હોસ્ટ પર GDB* માટે Intel® વિતરણ સાથે પ્રારંભ કરો
ડીબગીંગ એપ્લિકેશન્સ માટે GDB* માટે Intel® વિતરણનો ઉપયોગ કરવાનું શરૂ કરો. CPU અને GPU ઉપકરણો પર ઑફલોડ કરાયેલ કર્નલ સાથે એપ્લિકેશનને ડીબગ કરવા માટે ડીબગરને સેટ કરવા માટે નીચેની સૂચનાઓને અનુસરો.
GDB* માટે Intel® વિતરણ Intel® oneAPI બેઝ ટૂલકીટના ભાગ રૂપે ઉપલબ્ધ છે. oneAPI ટૂલકીટ પર વધુ માહિતી માટે, આની મુલાકાત લો ઉત્પાદન પૃષ્ઠ.
ની મુલાકાત લો પ્રકાશન નોંધો મુખ્ય ક્ષમતાઓ, નવી સુવિધાઓ અને જાણીતી સમસ્યાઓ વિશેની માહિતી માટેનું પૃષ્ઠ.
તમે SYCL*s નો ઉપયોગ કરી શકો છોample કોડ, એરે ટ્રાન્સફોર્મ, GDB* માટે Intel® વિતરણ સાથે પ્રારંભ કરવા માટે. આ એસample ભૂલો જનરેટ કરતું નથી અને ફક્ત ડીબગર લક્ષણોને સમજાવે છે. કોડ ઇનપુટ એરેના ઘટકોને સમાન કે વિષમ છે તેના આધારે પ્રક્રિયા કરે છે અને આઉટપુટ એરે બનાવે છે. તમે s નો ઉપયોગ કરી શકો છોampસીપીયુ અથવા જીપીયુ બંને પર ડીબગ કરવા માટે, આદેશ વાક્ય દલીલ દ્વારા પસંદ કરેલ ઉપકરણનો ઉલ્લેખ કરો. નોંધ કરો કે GPU ડિબગીંગ માટે બે સિસ્ટમ અને રીમોટ ડીબગીંગ માટે વધારાના રૂપરેખાંકનની જરૂર પડી શકે છે.
પૂર્વજરૂરીયાતો
જો તમે GPU પર ડિબગ કરવાનું લક્ષ્ય રાખ્યું હોય, તો નવીનતમ GPU ડ્રાઇવરો ઇન્સ્ટોલ કરો અને તેનો ઉપયોગ કરવા માટે તમારી સિસ્ટમને ગોઠવો. નો સંદર્ભ લો Linux* OS માટે Intel® oneAPI ટૂલકીટ ઇન્સ્ટોલેશન માર્ગદર્શિકા. સૂચનાઓ અનુસરો ઇન્ટેલ GPU ડ્રાઇવર્સ ઇન્સ્ટોલ કરો તમારી સિસ્ટમ સાથે મેળ ખાતા GPU ડ્રાઇવરોને ઇન્સ્ટોલ કરવા માટે.
વધુમાં, તમે GDB* માટે Intel® વિતરણ સાથે GPU ડીબગ કરવા માટે વિઝ્યુઅલ સ્ટુડિયો કોડ* માટે એક્સ્ટેંશન ઇન્સ્ટોલ કરી શકો છો. નો સંદર્ભ લો Intel® oneAPI ટૂલકીટ માર્ગદર્શિકા સાથે વિઝ્યુઅલ સ્ટુડિયો કોડનો ઉપયોગ કરવો.
GPU ડીબગર સેટ કરો
GPU ડીબગર સેટ કરવા માટે, તમારી પાસે રૂટ એક્સેસ હોવી આવશ્યક છે.
નોંધ કર્નલ ડિબગીંગ દરમિયાન, GPU રોકાયેલ છે અને વિડિયો આઉટપુટ તમારા લક્ષ્ય મશીન પર અનુપલબ્ધ છે. આને કારણે, જો સિસ્ટમના GPU કાર્ડનો ઉપયોગ ગ્રાફિકલ આઉટપુટ માટે પણ કરવામાં આવે તો તમે લક્ષ્ય સિસ્ટમમાંથી GPU ને ડિબગ કરી શકતા નથી. આ કિસ્સામાં, મશીનને ssh દ્વારા કનેક્ટ કરો.
1. જો તમે GPU પર ડિબગ કરવાનું લક્ષ્ય રાખ્યું હોય, તો Linux કર્નલ કે જે GPU ડિબગીંગને સપોર્ટ કરે છે તે જરૂરી છે.
a. પર સૂચનાઓ અનુસરો સામાન્ય હેતુ GPU ક્ષમતાઓ માટે Intel® સોફ્ટવેર જરૂરી ડ્રાઇવરો ડાઉનલોડ અને ઇન્સ્ટોલ કરવા માટે.
b. કર્નલમાં i915 ડીબગ સપોર્ટને સક્ષમ કરો:
a. ટર્મિનલ ખોલો.
b. ગ્રબ ખોલો file /etc/default માં.
c. ગ્રબમાં file, GRUB_CMDLINE_LINUX_DEFAULT=”” રેખા શોધો.
d. અવતરણ (“”) વચ્ચે નીચેનો ટેક્સ્ટ દાખલ કરો:
i915.debug_eu=1
નોંધ ડિફૉલ્ટ રૂપે, GPU ડ્રાઇવર વર્કલોડને GPU પર ચોક્કસ સમય કરતાં વધુ સમય ચાલવા દેતું નથી. ડ્રાઇવર હેંગ થવાથી બચવા માટે GPU ને રીસેટ કરીને આવા લાંબા સમયથી ચાલતા વર્કલોડને મારી નાખે છે. જો એપ્લિકેશન ડીબગર હેઠળ ચાલી રહી હોય તો ડ્રાઇવરની હેંગચેક પદ્ધતિ અક્ષમ છે. જો તમે ડીબગર જોડ્યા વિના પણ લાંબા કમ્પ્યુટ વર્કલોડ ચલાવવાની યોજના ઘડી રહ્યા હો, તો અરજી કરવાનું વિચારો GPU: હેંગચેકને અક્ષમ કરો ઉમેરીને
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 લેવલ ઝીરો માટે ડીબગર સપોર્ટને સક્ષમ કરવા માટે નીચેના પર્યાવરણ ચલોનો ઉપયોગ કરો:
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) વિતરણનો ઉપયોગ કરવા માટે તૈયાર છે*).
પરિણામ સ્થિતિ: PASS
ડીબગર મળ્યું.
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 …
ડીબગ માહિતી સાથે પ્રોગ્રામ કમ્પાઇલ કરો
તમે s નો ઉપયોગ કરી શકો છોampલે પ્રોજેક્ટ, એરે ટ્રાન્સફોર્મ, એપ્લિકેશન ડીબગર સાથે ઝડપથી પ્રારંભ કરવા માટે.
1. એસ મેળવવા માટેample, નીચેની કોઈપણ રીતો પસંદ કરો:
- oneAPI CLI S નો ઉપયોગ કરોampલેસ બ્રાઉઝર ગેટીંગ સ્ટાર્ટેડ કેટેગરીમાંથી એરે ટ્રાન્સફોર્મ પસંદ કરવા માટે.
- પરથી ડાઉનલોડ કરો GitHub*.
2. s ના src પર નેવિગેટ કરોampલે પ્રોજેક્ટ:
cd array-transform/src
3. ડીબગ માહિતી (-g ફ્લેગ) સક્ષમ કરીને અને ઑપ્ટિમાઇઝેશન (-O0 ફ્લેગ) બંધ કરીને એપ્લિકેશનને કમ્પાઇલ કરો.
સ્થિર અને સચોટ ડીબગ વાતાવરણ માટે ઓપ્ટિમાઇઝેશનને અક્ષમ કરવાની ભલામણ કરવામાં આવે છે. આ કમ્પાઇલર ઑપ્ટિમાઇઝેશન પછી કોડમાં થયેલા ફેરફારોને કારણે થતી મૂંઝવણને ટાળવામાં મદદ કરે છે.
નોંધ તમે હજુ પણ ઓપ્ટિમાઇઝેશન સક્ષમ (-O2 ફ્લેગ) સાથે પ્રોગ્રામને કમ્પાઇલ કરી શકો છો, જે મદદરૂપ થઈ શકે છે જો તમે GPU એસેમ્બલી ડિબગીંગનું લક્ષ્ય રાખો છો.
તમે પ્રોગ્રામને ઘણી રીતે કમ્પાઇલ કરી શકો છો. વિકલ્પો 1 અને 2 માત્ર-ઇન-ટાઇમ (JIT) સંકલનનો ઉપયોગ કરે છે, જે s ને ડીબગ કરવા માટે ભલામણ કરવામાં આવે છે.ample વિકલ્પ 3 આગળ-ઓફ-ટાઇમ (AOT) સંકલનનો ઉપયોગ કરે છે.
- વિકલ્પ 1. તમે CMake નો ઉપયોગ કરી શકો છો file એપ્લિકેશનને ગોઠવવા અને બનાવવા માટે. નો સંદર્ભ લો README નાampસૂચનાઓ માટે le.
નોંધ સીમેક file એસ સાથે પૂરી પાડવામાં આવેલ છેample પહેલેથી જ -g -O0 ફ્લેગો પસાર કરે છે.
- વિકલ્પ 2. array-transform.cpp s કમ્પાઈલ કરવા માટેampસીમેક વિના એપ્લિકેશન 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. રનટાઇમ પર લાંબા સમય સુધી JIT સંકલન સમય ટાળવા માટે તમે AOT સંકલનનો ઉપયોગ કરી શકો છો. ડીબગર હેઠળ મોટા કર્નલ માટે JIT સંકલન નોંધપાત્ર રીતે લાંબો સમય લઈ શકે છે. અહેડ-ઓફ-ટાઇમ કમ્પાઇલેશન મોડનો ઉપયોગ કરવા માટે:
• GPU પર ડિબગીંગ માટે:
તમે પ્રોગ્રામ એક્ઝેક્યુશન માટે ઉપયોગ કરશો તે ઉપકરણનો ઉલ્લેખ કરો. માજી માટેample, Intel® ડેટા સેન્ટર GPU Flex 2 ગ્રાફિક્સ માટે -device 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 કમ્પાઇલર LOC) જરૂરી છે. વધુ માહિતી માટે, વિભાગના “Install OpenCLTM Offline Compiler (OCLOC)” નો સંદર્ભ લો સ્થાપન માર્ગદર્શિકા.
• CPU પર ડિબગીંગ માટે:
icpx -fsycl -g -O0 -fsycl-targets=spir64_x86_64 array-transform.cpp -o એરે-ટ્રાન્સફોર્મ
ડીબગ સત્ર શરૂ કરો
ડીબગ સત્ર શરૂ કરો:
1. નીચે પ્રમાણે GDB* માટે Intel® વિતરણ શરૂ કરો:
gdb-oneapi એરે-ટ્રાન્સફોર્મ
તમારે (gdb) પ્રોમ્પ્ટ જોવો જોઈએ.
2. કર્નલ યોગ્ય ઉપકરણ પર ઑફલોડ થયેલ છે તેની ખાતરી કરવા માટે, નીચેના પગલાંઓ કરો. જ્યારે તમે (gdb) પ્રોમ્પ્ટમાંથી રન આદેશ ચલાવો છો, ત્યારે પાસ કરો cpu, gpu or પ્રવેગક દલીલ
- CPU પર ડિબગીંગ માટે:
cpu ચલાવો
Example આઉટપુટ:
[SYCL] ઉપકરણનો ઉપયોગ કરીને: [Intel(R) OpenCL] તરફથી [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz]- GPU પર ડિબગીંગ માટે:
જીપીયુ ચલાવો
Example આઉટપુટ:
[SYCL] ઉપકરણનો ઉપયોગ કરીને: [Intel(R) LevelZero] માંથી [Intel(R) ડેટા સેન્ટર GPU ફ્લેક્સ સિરીઝ 140 [0x56c1]]- FPGA-ઇમ્યુલેટર પર ડિબગીંગ માટે:
પ્રવેગક ચલાવો
Example આઉટપુટ:
[SYCL] ઉપકરણનો ઉપયોગ કરવો: OpenCL(TM) સોફ્ટવેર માટે [Intel(R) FPGA ઇમ્યુલેશન પ્લેટફોર્મમાંથી [Intel(R) FPGA ઇમ્યુલેશન ડિવાઇસ]]નોંધ cpu, gpu, અને એક્સિલરેટર પરિમાણો એરે ટ્રાન્સફોર્મ એપ્લિકેશન માટે વિશિષ્ટ છે.
3. GDB* માટે Intel® વિતરણ છોડવા માટે:
છોડો
તમારી સગવડ માટે, GDB* આદેશો માટે સામાન્ય Intel® વિતરણ આમાં આપવામાં આવે છે સંદર્ભ પત્રક.
એરે ટ્રાન્સફોર્મને ડીબગ કરવા માટેampઅને GDB* માટે Intel® વિતરણ વિશે વધુ જાણો, ટ્યુટોરીયલ.
વધુ જાણો
દસ્તાવેજ | વર્ણન |
ટ્યુટોરીયલ: GDB માટે Intel® વિતરણ સાથે ડીબગીંગ* | આ દસ્તાવેજ GDB* માટે Intel® વિતરણ સાથે SYCL* અને OpenCL ને ડિબગ કરતી વખતે અનુસરવા માટેના મૂળભૂત દૃશ્યોનું વર્ણન કરે છે. |
GDB* વપરાશકર્તા માર્ગદર્શિકા માટે Intel® વિતરણ | આ દસ્તાવેજ તમામ સામાન્ય કાર્યોનું વર્ણન કરે છે જે તમે GDB માટે Intel® વિતરણ સાથે પૂર્ણ કરી શકો છો અને જરૂરી તકનીકી વિગતો પ્રદાન કરે છે. |
GDB* પ્રકાશન નોંધો માટે Intel® વિતરણ | નોંધોમાં મુખ્ય ક્ષમતાઓ, નવી સુવિધાઓ અને GDB* માટે Intel® વિતરણના જાણીતા મુદ્દાઓ વિશેની માહિતી છે. |
oneAPI પ્રોડક્ટ પેજ | આ પૃષ્ઠમાં વનAPI ટૂલકીટ અને ઉપયોગી સંસાધનોની લિંક્સનો સંક્ષિપ્ત પરિચય છે. |
GDB* સંદર્ભ શીટ માટે Intel® વિતરણ | આ એક-પૃષ્ઠ દસ્તાવેજ ટૂંકમાં GDB* પૂર્વજરૂરીયાતો અને ઉપયોગી આદેશો માટે Intel® વિતરણનું વર્ણન કરે છે. |
જેકોબી એસample | આ નાની SYCL* એપ્લિકેશનમાં બે વર્ઝન છે: બગડ અને ફિક્સ્ડ. એસ નો ઉપયોગ કરોampGDB* માટે Intel® ડિસ્ટ્રિબ્યુશન સાથે એપ્લિકેશન ડિબગીંગનો ઉપયોગ કરો. |
સૂચનાઓ અને અસ્વીકરણ
ઇન્ટેલ ટેક્નોલજીઓને સક્ષમ હાર્ડવેર, સ softwareફ્ટવેર અથવા સેવા સક્રિયકરણની જરૂર પડી શકે છે.
કોઈપણ ઉત્પાદન અથવા ઘટક સંપૂર્ણપણે સુરક્ષિત હોઈ શકતું નથી.
તમારા ખર્ચ અને પરિણામો અલગ અલગ હોઈ શકે છે.
© ઇન્ટેલ કોર્પોરેશન. ઇન્ટેલ, ઇન્ટેલ લોગો અને અન્ય ઇન્ટેલ ચિહ્નો ઇન્ટેલ કોર્પોરેશન અથવા તેની પેટાકંપનીઓના ટ્રેડમાર્ક છે. અન્ય નામો અને બ્રાન્ડનો દાવો અન્યની મિલકત તરીકે થઈ શકે છે.
આ દસ્તાવેજ દ્વારા કોઈપણ બૌદ્ધિક સંપદા અધિકારો માટે કોઈ લાઇસન્સ (વ્યક્ત અથવા ગર્ભિત, એસ્ટોપલ દ્વારા અથવા અન્યથા) આપવામાં આવતું નથી.
વર્ણવેલ ઉત્પાદનોમાં ડિઝાઇન ખામીઓ અથવા ભૂલો હોઈ શકે છે જેને ત્રુટિસૂચી તરીકે ઓળખવામાં આવે છે જે ઉત્પાદનને પ્રકાશિત સ્પષ્ટીકરણોથી વિચલિત થવાનું કારણ બની શકે છે. વર્તમાન લાક્ષણિકતા ત્રુટિસૂચી વિનંતી પર ઉપલબ્ધ છે.
ઇન્ટેલ તમામ સ્પષ્ટ અને ગર્ભિત વોરંટીનો અસ્વીકાર કરે છે, જેમાં મર્યાદા વિના, વેપારીતાની ગર્ભિત વોરંટી, ચોક્કસ હેતુ માટે યોગ્યતા અને બિન-ઉલ્લંઘન, તેમજ કામગીરી, વ્યવહારના અભ્યાસક્રમ અથવા વેપારમાં ઉપયોગથી ઉદ્ભવતી કોઈપણ વોરંટીનો સમાવેશ થાય છે.
OpenCL અને OpenCL લોગો એ Apple Inc. ના ટ્રેડમાર્ક છે જેનો ઉપયોગ Khronos દ્વારા પરવાનગી દ્વારા કરવામાં આવે છે.
દસ્તાવેજો / સંસાધનો
![]() |
Linux OS હોસ્ટ પર GDB માટે intel વિતરણ [પીડીએફ] વપરાશકર્તા માર્ગદર્શિકા Linux OS હોસ્ટ પર GDB માટે વિતરણ, Linux OS હોસ્ટ પર GDB, Linux OS હોસ્ટ, OS હોસ્ટ, યજમાન |