Intel DPC ++ קאַמפּאַטאַבילאַטי טול 

Intel DPC ++ קאַמפּאַטאַבילאַטי טול

באַקומען סטאַרטעד מיט די Intel® DPC + + קאַמפּאַטאַבילאַטי טול

די Intel® DPC ++ קאָמפּאַטיביליטי טול אַסיס אין די מייגריישאַן פון אַ דעוועלאָפּער ס פּראָגראַם וואָס איז געשריבן אין CUDA * צו אַ פּראָגראַם געשריבן אין Data Parallel C ++ (DPC ++), וואָס איז באזירט אויף מאָדערן C ++ און ינקאָרפּערייץ פּאָרטאַטיוו ינדאַסטרי סטאַנדאַרדס אַזאַ ווי SYCL *.

  • באַזוכן די Intel® DPC ++ קאָמפּאַטיביליטי געצייַג דעוועלאָפּער גייד און רעפערענץ פֿאַר נאָך אינפֿאָרמאַציע וועגן די געצייַג.
  • באַזוכן די מעלדונג נאָטעס פֿאַר באַוווסט ישוז און די מערסט ופּדאַטעד אינפֿאָרמאַציע.

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

איידער איר אָנהייבן

די Intel® DPC ++ קאַמפּאַטאַבילאַטי געצייַג איז אַרייַנגערעכנט אין די Intel® oneAPI באַסע טאָאָלקיט. אויב איר האָט נישט אינסטאַלירן די Intel® oneAPI Base Toolkit, נאָכגיין די ינסטראַקשאַנז אין די ינסטאַללאַטיאָן גייד.

זיכער CUDA כעדער files (ספּעציפיש צו דיין פּרויעקט) קען דאַרפֿן צו זיין צוטריטלעך צו די Intel® DPC ++
קאָמפּאַטיביליטי טול. די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול קוקט פֿאַר די CUDA כעדער files אין די פעליקייַט לאָוקיישאַנז:

  • /usr/local/cuda/include
  • /usr/local/cuda-xy/include, ווו xy איז איינער פון די וואַלועס: 8.0, 9.x, 10.x און 11.0-11.6.

איר קענען דערמאָנען מנהג לאָוקיישאַנז דורך ווייזן צו זיי מיט די –cuda-include-path= אָפּציע אין די Intel® DPC ++ Compatibility Tool באַפֿעלן שורה.

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

דערווייַל, די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול שטיצט די מייגריישאַן פון מגילה ימפּלאַמענאַד מיט CUDA ווערסיעס 8.0, 9.x, 10.x און 11.0–11.6. די רשימה פון שטיצט שפּראַכן און ווערסיעס קען זיין עקסטענדעד אין דער צוקונפֿט.

צו שטעלן די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול סוויווע, לויפן די פאלגענדע:

  • אויף לינוקס (סודאָ): מקור /opt/intel/oneapi/setvars.sh
  • אויף לינוקס (באַניצער): מקור ~/intel/oneapi/setvars.sh
  • אויף Windows :דרייוו:\ פּראָגראַם Files (קס86) \ Intel \ oneAPI \ setvars.bat

דער גענעראַל ינוואָקאַטיאָן סינטאַקס פון די אָפּערייטינג סיסטעם שאָל איז:

דפּקט [אָפּציעס] [ … ]

נאָטיץ c2s איז אַן אַליאַס צו די dpct באַפֿעל און קען זיין געוויינט אין זיין אָרט.

געבויט-אין באַניץ אינפֿאָרמאַציע 

צו זען די רשימה פון Intel® DPC ++ קאַמפּאַטאַבילאַטי טול-ספּעציפיש אָפּציעס, נוצן -הילף:

dpct -הילף

צו זען די רשימה פון די שפּראַך פּאַרסער (קלאַנג *) אָפּציעס, פאָרן -הילף ווי די קלאַנג אָפּציע:

דפּקט - הילף
עמיטעד וואָרנינגז

די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול יידענאַפייד די ערטער אין די קאָד וואָס קען דאַרפן דיין ופמערקזאַמקייט בעשאַס די מייגריישאַן פון די files אין סדר צו מאַכן די קאָד SYCL געהאָרכיק אָדער ריכטיק.
באַמערקונגען זענען ינסערטאַד אין די דזשענערייטאַד מקור files און געוויזן ווי וואָרנינגז אין דער רעזולטאַט. פֿאַר עקסampלאַ:

/דרך/צו/file.hpp:26:1: ווארענונג: DPCT1003:0: מיגראַטעד אַפּי טוט נישט צוריקקומען טעות קאָד. (*,0) איז ינסערטאַד. איר קען דאַרפֿן צו רירייט דעם קאָד. // מקור קאָד שורה פֿאַר וואָס ווארענונג איז דזשענערייטאַד ^

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

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

מיגרירן אַ פּשוט טעסט פּראָיעקט

די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול קומט מיט עטלעכע סampדי פּראַדזשעקס אַזוי איר קענען ויספאָרשן די געצייַג און באקענען זיך מיט ווי עס פאַנגקשאַנז:

Sampדי פּראָיעקט באַשרייַבונג
 וועקטאָר לייג דפּקט
  • vector_add.cu
די וועקטאָר לייג DPCT sampלאַ דעמאַנסטרייץ ווי צו מייגרייט אַ פּשוט פּראָגראַם פֿון CUDA צו SYCL. Vector Add גיט אַן גרינג וועג צו באַשטעטיקן אַז דיין אַנטוויקלונג סוויווע איז סעטאַפּ ריכטיק צו נוצן די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול.
טעקע אָפּציעס DPCT
  • main.cu
  • bar/util.cu
  • bar/util.h
די טעקע אָפּציעס DPCT sampדי ווייַזן ווי צו מייגרייט מער קאָמפּליצירט פּראַדזשעקס און צו נוצן אָפּציעס.
Rodinia NW DPCT
  • needle.cu
  • נאָדל.ה
  • needle_kernel.cu
די Rodinia NW DPCT sampדי דעמאַנסטרייץ ווי צו מייגרייט אַ מאַכן / קמאַקע פּרויעקט פון CUDA צו SYCL מיט די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול.

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

צו אַקסעס די samples

  • ניצן די Oneapi-cli נוצן צו סעלעקטירן וויampפון די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול קאַטעגאָריע, אָדער
  • אָפּלאָדירן די sampפון גיטהוב*.

פֿאַר מער דיטיילד אינפֿאָרמאַציע וועגן ווי צו אָפּלאָדירן און אַקסעס די sampלייענען, באַזוכן די Intel® oneAPI Base Toolkit באַקומען סטאַרטעד גוידעס:

פּרוּווט אַ Sampדי פּראָיעקט 

גיי די סטעפּס צו מייגרייט די Vector Add DPCT sampדי פּרויעקט ניצן די Intel® DPC ++ קאַמפּאַטאַבילאַטי געצייַג:

  1. אָפּלאָדירן די vector_add.cu sample.
  2. לויפן די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול פֿון די סampדער וואָרצל וועגווייַזער:
    dpct -אין-שורש =. src/vector_add.cu

     

    די vector_add.dp.cpp file זאָל דערשייַנען אין די dpct_output וועגווייַזער. די file איז איצט אַ SYCLsource file.

  3. נאַוויגירן צו די נייַע SYCL מקור file:
cd dpct_output

באַשטעטיקן די דזשענערייטאַד מקור קאָד און פאַרריכטן קיין קאָד וואָס די Intel® DPC ++ קאַמפּאַטאַבילאַטי טול קען נישט מייגרייט. (די קאָד געניצט אין דעם עקסample איז פּשוט, אַזוי מאַנואַל ענדערונגען קען נישט זיין דארף). פֿאַר די מערסט פּינטלעך און דיטיילד אינסטרוקציעס וועגן אַדרעסינג וואָרנינגז ימיטיד פון די Intel® DPC ++ קאָמפּאַטיביליטי געצייַג, זען די אַדרעסינג וואָרנינגז אין מיגרייטיד קאָוד אָפּטיילונג. README files.

נאָטיץ צו צונויפנעמען די מיגרייטיד סample, לייג -I/include צו דיין קאַמפּייל באַפֿעל.

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

געפֿינען מער

אינהאַלט באַשרייַבונג
Intel® DPC ++ קאַמפּאַטאַבילאַטי

געצייַג דעוועלאָפּער גייד און

רעפערענץ

דעטאַילעד איבערview פון Intel® DPC ++ קאַמפּאַטאַבילאַטי טול פֿעיִקייטן, וואָרקפלאָוו און נוצן.
אויף-דעמאַנד Webינאַר:

מיגרייטינג דיין יגזיסטינג CUDA

קאָד צו DPC ++ קאָד

ווי צו מייגרייט CUDA קאָד צו דאַטאַ פּאַראַלעל C ++ (דפּק ++) ניצן די Intel® DPC ++ קאָמפּאַטיביליטי טול, אַ איין-צייַט מיגראַטיאָן מאָטאָר וואָס פּאָרץ ביידע קערנאַלז און אַפּי קאַללס.
ינסטאַללאַטיאָן גוידעס פֿאַר Intel®

oneAPI טאָאָלקיץ

דיטיילד ינסטראַקשאַנז אויף ווי צו באַקומען און ינסטאַלירן Intel® oneAPI פּאַקידזשיז ניצן פאַרשידענע ינסטאַללער מאָדעס און פּעקל מאַנאַדזשערז.
SYCL באַשרייַבונג ווערסיע

1.2.1 פּדף

די SYCL באַשרייַבונג PDF. דערקלערט ווי SYCL ינטאַגרייץ אָפּענקל דעוויסעס מיט מאָדערן C ++.
SYCL 2020 באַשרייַבונג די SYCL 2020 באַשרייַבונג PDF.
כראָנאָס* סיקל איבערview אַן איבערview פון SYCL צוגעשטעלט דורך די כראָנאָס גרופע.
קאַמפּיילינג CUDA מיט קלאַנג באַשרייַבונג פון CUDA שטיצן אין קלאַנג.
Intel LLVM SYCL יקסטענשאַנז פארגעלייגט יקסטענשאַנז צו די SYCL באַשרייַבונג.
לייַערס פֿאַר Yocto * פּראָיעקט לייג איין API קאַמפּאָונאַנץ צו אַ Yocto פּרויעקט בויען מיט די מעטאַ-ינטעל לייַערס.

Intel Logo

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

Intel DPC ++ קאַמפּאַטאַבילאַטי טול [pdfבאַניצער גייד
דפּק קאָמפּאַטיביליטי טול, קאָמפּאַטיביליטי טול, טול

רעפערענצן

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

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