באַקומען סטאַרטעד מיט Intel® פאַרשפּרייטונג פֿאַר גדב * אויף לינוקס * אַס האָסט

אָנהייב ניצן די Intel® פאַרשפּרייטונג פֿאַר GDB* פֿאַר דיבאַגינג אַפּלאַקיישאַנז. גיי די אינסטרוקציעס אונטן צו שטעלן די דיבוגגער צו דיבאַג אַפּלאַקיישאַנז מיט קערנאַלז אָלאָאַדעד צו קפּו און גפּו דעוויסעס.

Intel® פאַרשפּרייטונג פֿאַר גדב * איז בנימצא ווי אַ טייל פון די Intel® oneAPI Base Toolkit. פֿאַר מער אינפֿאָרמאַציע אויף OneAPI טאָאָלקיץ, באַזוכן די פּראָדוקט בלאַט.

באַזוכן די מעלדונג נאָטעס בלאַט פֿאַר אינפֿאָרמאַציע וועגן שליסל קייפּאַבילאַטיז, נייַ פֿעיִקייטן און באַוווסט ישוז.

איר קענען נוצן אַ SYCL* sampדי קאָד, Array Transform, צו אָנהייבן מיט די Intel® פאַרשפּרייטונג פֿאַר גדב *. די סample קען נישט דזשענערייט ערראָרס און פשוט ילאַסטרייץ דיבוגגער פֿעיִקייטן. דער קאָד פּראַסעסאַז עלעמענטן פון די אַרייַנשרייַב מענגע דיפּענדינג אויף צי זיי זענען אפילו אָדער מאָדנע און טראגט אַ רעזולטאַט מענגע. איר קענען נוצן די sampצו דיבאַגינג ביידע די קפּו אָדער גפּו, ספּעציפיצירן די אויסדערוויילטע מיטל דורך אַ באַפֿעל שורה אַרגומענט. באַמערקונג כאָטש אַז גפּו דיבאַגינג קען דאַרפן צוויי סיסטעמען און נאָך קאַנפיגיעריישאַן פֿאַר ווייַט דיבאַגינג.

פּרירעקוואַזאַץ

אויב איר ציל צו דיבוג אויף גפּו, ינסטאַלירן די לעצטע גפּו דריווערס און קאַנפיגיער דיין סיסטעם צו נוצן זיי. אָפּשיקן צו די Intel® oneAPI Toolkits ינסטאַללאַטיאָן גייד פֿאַר לינוקס * אַס. גיי די אינסטרוקציעס ינסטאַלירן Intel GPU דריווערס צו ינסטאַלירן גפּו דריווערס וואָס ריכטן דיין סיסטעם.

אַדדיטיאָנאַללי, איר קענען ינסטאַלירן אַ פאַרלענגערונג פֿאַר וויסואַל סטודיאָ קאָד * פֿאַר דיבאַגינג גפּו מיט Intel® דיסטריבוטיאָן פֿאַר גדב *. אָפּשיקן צו די ניצן וויסואַל סטודיאָ קאָד מיט Intel® oneAPI טאָאָלקיץ גייד.

באַשטעטיק די גפּו דעבוגגער

צו שטעלן די גפּו דיבוגגער, איר מוזן האָבן וואָרצל אַקסעס.


נאָטיץ בעשאַס קערן דיבאַגינג, די גפּו איז סטאַפּט און די ווידעא רעזולטאַט איז אַנאַוויילאַבאַל אויף דיין ציל מאַשין. ווייַל פון דעם, איר קענען נישט דעבוג די גפּו פֿון די ציל סיסטעם אויב די גפּו קאָרט פון די סיסטעם איז אויך געניצט פֿאַר גראַפיקאַל רעזולטאַט. אין דעם פאַל, פאַרבינדן צו די מאַשין דורך ssh.


1. אויב איר ציל צו דיבאַגינג אויף גפּו, אַ לינוקס קערן וואָס שטיצט גפּו דיבאַגינג איז דארף.

a. גיי די ינסטראַקשאַנז אין Intel® ווייכווארג פֿאַר אַלגעמיינע גפּו קייפּאַבילאַטיז צו אָפּלאָדירן און ינסטאַלירן די נייטיק דריווערס.
b. געבן י915 דיבאַג שטיצן אין קערנעל:

a. עפֿענען אַ וואָקזאַל.
b. עפענען די גרוב file אין /etc/default.
c. אין די גרוב file, געפֿינען די שורה GRUB_CMDLINE_LINUX_DEFAULT = "".
d. אַרייַן די פאלגענדע טעקסט צווישן די ציטירט (""):

i915.debug_eu=1


נאָטיץ דורך פעליקייַט, די גפּו שאָפער קען נישט לאָזן ווערקלאָודז לויפן אויף אַ גפּו מער ווי אַ זיכער צייט. דער שאָפער קילז אַזאַ לאַנג-פליסנדיק ווערקלאָודז דורך באַשטעטיק די גפּו צו פאַרמייַדן כאַנגז. די האַנגטשעקק מעקאַניזאַם פון די שאָפער איז פאַרקריפּלט אויב די אַפּלאַקיישאַן איז פליסנדיק אונטער די דיבוגגער. אויב איר פּלאַן צו לויפן לאַנג קאַמפּיוטינג ווערקלאָודז אויך אָן אַ דעבוגגער, באַטראַכטן אַפּלייינג גפּו: דיסייבאַל האַנגטשעקק דורך אַדינג

i915.enable_hangcheck=0

צו דער זעלביקער GRUB_CMDLINE_LINUX_DEFAULT שורה.

c. דערהייַנטיקן GRUB פֿאַר די ענדערונגען צו נעמען ווירקונג:

sudo update-grub

d. רעבאָאָט.

2. באַשטעטיק דיין CLI סוויווע דורך סאָרסינג די סעטוואַרס שריפט ליגן אין דער וואָרצל פון דיין טאָאָלקיט ינסטאַלירונג.

לינוקס (סודאָ):

מקור /opt/intel/oneapi/setvars.sh

לינוקס (באַניצער):

מקור ~/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
באַשרייַבונג: דעם טשעק וועראַפייז אויב די סוויווע איז גרייט צו נוצן גדב (ינטעל (ר) פאַרשפּרייטונג פֿאַר גדב *).
רעזולטאַט סטאַטוס: פאָרן
דיבוגגער געפונען.
ליביפּט געפונען.
ליביגאַ געפונען.
i915 דיבאַג איז ענייבאַלד.
ענוויראָנמענטאַל וועריאַבאַלז ריכטיק. ================================================ ===============================

1 טשעק: 1 פאָרן, 0 דורכפאַל, 0 וואָרנינגז, 0 ערראָרס

קאַנסאָול רעזולטאַט file: /path/to/logs/diagnostics_filter_debugger_sys_check_force.txt דזשסאָן רעזולטאַט file: /path/to/diagnostics/logs/diagnostics_filter_debugger_sys_check_force.json …

קאַמפּייל די פּראָגראַם מיט דעבוג אינפֿאָרמאַציע

איר קענען נוצן די sampדי פּרויעקט, Array Transform, צו געשווינד אָנהייבן מיט די אַפּלאַקיישאַן דיבוגגער.

1. צו באַקומען די sample, קלייַבן איינער פון די פאלגענדע וועגן:

2. נאַוויגירן צו די src פון די sampדי פּרויעקט:

cd array-transform/src

3. צונויפנעמען די אַפּלאַקיישאַן דורך געבן די דיבאַג אינפֿאָרמאַציע (-ג פאָן) און קער אַוועק אָפּטימיזאַטיאָנס (-O0 פאָן).
עס איז רעקאַמענדיד צו דיסייבאַל אַפּטאַמאַזיישאַן פֿאַר אַ סטאַביל און פּינטלעך דיבאַג סוויווע. דאָס העלפּס צו ויסמיידן צעמישונג געפֿירט דורך ענדערונגען צו די קאָד נאָך קאַמפּיילער אָפּטימיזאַטיאָנס.


נאָטיץ איר קענט נאָך צונויפנעמען דעם פּראָגראַם מיט אַפּטאַמאַזיישאַן ענייבאַלד (-O2 פאָן), וואָס קענען זיין נוציק אויב איר צילן צו דיבאַגינג פון די גפּו פֿאַרזאַמלונג.


איר קענען צונויפנעמען דעם פּראָגראַם אין עטלעכע וועגן. אָפּציעס 1 און 2 נוצן פּונקט-אין-צייט (JIT) זאַמלונג, וואָס איז רעקאַמענדיד צו דיבאַג די s.ample. אָפּציע 3 ניצט פאָרויס-פון-צייט (AOT) זאַמלונג.

  • אָפּציע 1. איר קענען נוצן די קמאַקע file צו קאַנפיגיער און בויען די אַפּלאַקיישאַן. אָפּשיקן צו די README פון די שampלייענען פֿאַר די ינסטראַקשאַנז.

נאָטיץ די קמאַקע file צוגעשטעלט מיט די סample שוין פאָרן די -ג -אָ0 פלאַגס.


  • אָפּציע 2. צו צונויפנעמען די array-transform.cpp sampדי אַפּלאַקיישאַן אָן די קמאַקע file, אַרויסגעבן די פאלגענדע קאַמאַנדז:

icpx -fsycl -g -O0 array-transform.cpp -o array-transform

אויב זאַמלונג און פֿאַרבינדונג איז דורכגעקאָכט סעפּעראַטלי, ריטיין די -g -O0 פלאַגס אין די לינק שריט. דער לינק שריט איז ווען icpx טראַנסלייץ די פלאַגס צו זיין דורכגעגאנגען צו די מיטל קאַמפּיילער ביי רונטימע. עקסampלאַ:

icpx -fsycl -g -O0 -c array-transform.cpp
icpx -fsycl -g -O0 array-transform.o -o array-transform

  • אָפּציע 3. איר קענען נוצן AOT זאַמלונג צו ויסמיידן מער JIT זאַמלונג צייט ביי רונטימע. JIT זאַמלונג קען נעמען פיל מער פֿאַר גרויס קערנאַלז אונטער די דיבוגגער. צו נוצן פאָרויס-פון-צייט זאַמלונג מאָדע:

• פֿאַר דיבאַגינג אויף אַ גפּו:
ספּעציפיצירן די מיטל וואָס איר וועט נוצן פֿאַר פּראָגראַם דורכפירונג. פֿאַר עקסample, -device dg2-g10 for Intel® Data Center GPU Flex 140 Graphics. פֿאַר די רשימה פון געשטיצט אָפּציעס און מער אינפֿאָרמאַציע וועגן AOT זאַמלונג, אָפּשיקן צו די Intel® oneAPI DPC ++ קאָמפּילער דעוועלאָפּער גייד און רעפֿערענץ.
פֿאַר עקסampלאַ:

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

פאָרויס-פון-צייט זאַמלונג ריקווייערז די OpenCLTM Offline Compiler (OC Compiler LOC). פֿאַר מער אינפֿאָרמאַציע, אָפּשיקן די אָפּטיילונג "Install OpenCLTM Offline Compiler (OCLOC)" פון די ינסטאַללאַטיאָן גייד.

• פֿאַר דיבאַגינג אויף אַ קפּו:

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

אָנהייב אַ דעבוג סעסיע

אָנהייב די דיבאַג סעסיע:

1. אָנהייב Intel® פאַרשפּרייטונג פֿאַר GDB* ווי גייט:

gdb-oneapi מענגע-יבערמאַכן

איר זאָל זען די (gdb) פּינטלעך.

2. צו מאַכן זיכער אַז דער קערן איז אָלאָאַדעד צו די רעכט מיטל, טאָן די פאלגענדע סטעפּס. ווען איר ויספירן די לויפן באַפֿעל פֿון די (gdb) פּינטלעך, פאָרן די קפּו, גפּו or אַקסעלעראַטאָר אַרגומענט:

  • פֿאַר דיבאַגינג אויף די קפּו:

לויפן קפּו

Exampדי רעזולטאַט:

[SYCL] ניצן מיטל: [Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz] פֿון [Intel(R) OpenCL]
  • פֿאַר דיבאַגינג אויף די גפּו:

לויפן גפּו

Exampדי רעזולטאַט:

[SYCL] ניצן מיטל: [ינטעל (ר) דאַטאַ צענטער גפּו פלעקס סעריעס 140 [0x56c1]] פֿון [ינטעל (ר) לעוועלזעראָ]
  • פֿאַר דיבאַגינג אויף די FPGA-עמולאַטאָר:

לויפן אַקסעלעראַטאָר

Exampדי רעזולטאַט:

[SYCL] ניצן מיטל: [ינטעל (ר) FPGA עמיאַליישאַן מיטל] פֿון [ינטעל (ר) FPGA עמיאַליישאַן פּלאַטפאָרם פֿאַר OpenCL (TM) ווייכווארג]

נאָטיץ די קפּו, גפּו און אַקסעלעראַטאָר פּאַראַמעטערס זענען ספּעציפיש פֿאַר די Array Transform אַפּלאַקיישאַן.


3. צו פאַרלאָזן די Intel® פאַרשפּרייטונג פֿאַר GDB*:

פאַרלאָזן

פֿאַר דיין קאַנוויניאַנס, פּראָסט Intel® פאַרשפּרייטונג פֿאַר GDB * קאַמאַנדז זענען צוגעשטעלט אין די רעפערענץ בלאַט.

צו דיבאַגינג די Array Transform sampאון לערנען מער וועגן Intel® דיסטריבוטיאָן פֿאַר GDB*, גיין דורך יקערדיק דיבאַגינג סינעריאָוז ניצן די טוטאָריאַל.

לערן מער
דאָקומענט באַשרייַבונג
טוטאָריאַל: דיבאַגינג מיט Intel® פאַרשפּרייטונג פֿאַר GDB * דער דאָקומענט באשרייבט די יקערדיק סינעריאָוז צו נאָכפאָלגן בשעת דיבאַגינג SYCL * און OpenCL מיט Intel® דיסטריבוטיאָן פֿאַר גדב *.
Intel® פאַרשפּרייטונג פֿאַר GDB* באַניצער גייד דער דאָקומענט באשרייבט אַלע פּראָסט טאַסקס וואָס איר קענען פאַרענדיקן מיט Intel® Distribution for GDB* און גיט נייטיק טעכניש דעטאַילס.
Intel® פאַרשפּרייטונג פֿאַר GDB * מעלדונג נאָטעס די הערות אַנטהאַלטן אינפֿאָרמאַציע וועגן שליסל קייפּאַבילאַטיז, נייַ פֿעיִקייטן און באַוווסט ישוז פון Intel® דיסטריבוטיאָן פֿאַר GDB *.
OneAPI פּראָדוקט בלאַט דער בלאַט כּולל קורץ הקדמה אויף OneAPI טאָאָלקיץ און לינקס צו נוציק רעסורסן.
Intel® פאַרשפּרייטונג פֿאַר GDB* רעפערענץ בלאַט דער דאָקומענט פון איין בלאַט באשרייבט בעקיצער Intel® פאַרשפּרייטונג פֿאַר גדב * פּרירעקוואַזאַץ און נוציק קאַמאַנדז.
יעקבי שample די קליין SYCL * אַפּלאַקיישאַן האט צוויי ווערסיעס: באַגד און פאַרפעסטיקט. ניצן די sampצו געניטונג אַפּלאַקיישאַן דיבאַגינג מיט Intel® דיסטריבוטיאָן פֿאַר גדב *.
נאָטעס און אָפּלייקענונג

ינטעל טעקנאַלאַדזשיז קען דאַרפן ענייבאַלד ייַזנוואַרג, ווייכווארג אָדער דינען אַקטאַוויישאַן.

קיין פּראָדוקט אָדער קאָמפּאָנענט קענען זיין לעגאַמרע זיכער.

דיין קאָס און רעזולטאַטן קען בייַטן.

© Intel Corporation. ינטעל, די ינטעל לאָגאָ און אנדערע ינטעל מאַרקס זענען טריידמאַרקס פון ינטעל קאָרפּאָראַטיאָן אָדער זייַן סאַבסידיעריז. אנדערע נעמען און בראַנדז קענען זיין קליימד ווי די פאַרמאָג פון אנדערע.

קיין דערלויבעניש (אויסדריקט אָדער ימפּלייד, דורך עסטאָפּעל אָדער אַנדערש) צו קיין אינטעלעקטואַל פאַרמאָג רעכט איז געגעבן דורך דעם דאָקומענט.

די דיסקרייבד פּראָדוקטן קען אַנטהאַלטן פּלאַן חסרונות אָדער ערראָרס, באקאנט ווי ערראַטאַ, וואָס קען פאַרשאַפן די פּראָדוקט צו אָפּנייגן פון ארויס ספּעסאַפאַקיישאַנז. קראַנט קעראַקטערייזד ערראַטאַ זענען בנימצא אויף בעטן.

ינטעל דיסקליימז אַלע אויסדריקן און ימפּלייד וואָראַנטיז, אַרייַנגערעכנט אָן באַגרענעצונג, די ימפּלייד וואָראַנטיז פון סחרחורות, טויגיקייט פֿאַר אַ באַזונדער ציל, און ניט-ינפרינדזשמאַנט, ווי געזונט ווי קיין וואָראַנטי ערייזינג פון לויף פון פאָרשטעלונג, לויף פון האַנדלינג אָדער נוצן אין האַנדל.

OpenCL און די OpenCL לאָגאָ זענען טריידמאַרקס פון עפּל ינק. געניצט דורך דערלויבעניש פון כראָנאָס.

דאָקומענטן / רעסאָורסעס

ינטעל פאַרשפּרייטונג פֿאַר גדב אויף לינוקס אַס האָסט [pdfבאַניצער גייד
פאַרשפּרייטונג פֿאַר גדב אויף לינוקס אַס האָסט, גדב אויף לינוקס אַס האָסט, לינוקס אַס האָסט, אַס האָסט, האָסט

רעפערענצן

לאָזן אַ באַמערקונג

דיין בליצפּאָסט אַדרעס וועט נישט זיין ארויס. פארלאנגט פעלדער זענען אנגעצייכנט *