intel DPC++ თავსებადობის ინსტრუმენტი

დაიწყეთ Intel® DPC+ + თავსებადობის ინსტრუმენტით
Intel® DPC++ თავსებადობის ინსტრუმენტი ეხმარება დეველოპერის პროგრამის მიგრაციაში, რომელიც დაწერილია CUDA*-ში მონაცემთა პარალელურად C++ (DPC++) დაწერილ პროგრამაში, რომელიც დაფუძნებულია თანამედროვე C++-ზე და მოიცავს პორტატული ინდუსტრიის სტანდარტებს, როგორიცაა SYCL*.
- ეწვიეთ Intel® DPC++ თავსებადობის ხელსაწყოს დეველოპერის სახელმძღვანელოს და მითითებას ინსტრუმენტის შესახებ დამატებითი ინფორმაციისთვის.
- ეწვიეთ გამოშვების შენიშვნებს ცნობილი საკითხებისა და ყველაზე განახლებული ინფორმაციისთვის.
შენიშვნა Intel® DPC++ თავსებადობის ხელსაწყოს გამოყენება გამოიწვევს პროექტს, რომელიც არ არის მთლიანად მიგრაცია. მიგრაციის დასასრულებლად საჭიროა დამატებითი სამუშაოები, როგორც ეს ასახულია Intel® DPC++ თავსებადობის ხელსაწყოს გამოსავალში.
სანამ დაიწყებ
Intel® DPC++ თავსებადობის ინსტრუმენტი შედის Intel® oneAPI Base Toolkit-ში. თუ არ გაქვთ დაინსტალირებული 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++ თავსებადობის ხელსაწყოს ბრძანების ხაზში.
შენიშვნა CUDA მოიცავს ბილიკი არ უნდა იყოს იგივე, ან შვილობილი გზა იმ დირექტორიაში, სადაც მდებარეობს წყაროს კოდი, რომლის მიგრაციაა საჭირო.
ამჟამად Intel® DPC++ თავსებადობის ხელსაწყო მხარს უჭერს პროგრამების მიგრაციას, რომლებიც განხორციელებულია CUDA ვერსიებით 8.0, 9.x, 10.x და 11.0–11.6. მხარდაჭერილი ენებისა და ვერსიების სია შეიძლება მომავალში გაფართოვდეს.
Intel® DPC++ თავსებადობის ხელსაწყოს გარემოს დასაყენებლად, გაუშვით შემდეგი:
- Linux-ზე (sudo): წყარო /opt/intel/oneapi/setvars.sh
- Linux-ზე (მომხმარებელი): წყარო ~/intel/oneapi/setvars.sh
- Windows-ზე :Drive:\ პროგრამა Files (x86)\Intel\oneAPI\setvars.bat
ზოგადი მოწოდების სინტაქსი ოპერაციული სისტემის გარსიდან არის:
| dpct [პარამეტრები] [ … ] |
შენიშვნა c2s არის dpct ბრძანების მეტსახელი და შეიძლება გამოყენებულ იქნას მის ადგილზე.
ჩამონტაჟებული გამოყენების ინფორმაცია
Intel® DPC++ თავსებადობის ხელსაწყოს სპეციფიკური ვარიანტების სიის სანახავად გამოიყენეთ –help:
| dpct - დახმარება |
ენის პარსერის (Clang*) ვარიანტების სიის სანახავად, ჩაატარეთ -help როგორც Clang ოფცია:
| dpct — -დახმარება |
ემიტირებული გაფრთხილებები
Intel® DPC++ თავსებადობის ინსტრუმენტი განსაზღვრავს იმ ადგილებს კოდში, რომლებიც შეიძლება მოითხოვონ თქვენი ყურადღება მიგრაციის დროს. files იმისათვის, რომ კოდი SYCL იყოს შესაბამისი ან სწორი.
კომენტარები ჩასმულია გენერირებულ წყაროში files და ნაჩვენებია როგორც გაფრთხილება გამოსავალში. მაგampლე:
| /გზა/კენ/file.hpp:26:1: გაფრთხილება: DPCT1003:0: მიგრირებული API არ აბრუნებს შეცდომის კოდს. ჩასმულია (*,0). შეიძლება დაგჭირდეთ ამ კოდის გადაწერა. // წყარო კოდის ხაზი, რომლისთვისაც შეიქმნა გაფრთხილება ^ |
დამატებითი ინფორმაციისთვის, თუ რას ნიშნავს კონკრეტული გაფრთხილება, იხილეთ დიაგნოსტიკური მითითება.
დამატებითი ინფორმაციისთვის, თუ რას ნიშნავს კონკრეტული გაფრთხილება, იხილეთ დიაგნოსტიკური მითითება.
მარტივი ტესტის პროექტის მიგრაცია
Intel® DPC++ თავსებადობის ხელსაწყოს გააჩნია რამდენიმე სample პროექტები, ასე რომ თქვენ შეგიძლიათ შეისწავლოთ ინსტრუმენტი და გაეცნოთ მის ფუნქციონირებას:
| Sample პროექტი | აღწერა |
ვექტორის დამატება DPCT
|
ვექტორი დამატება DPCT sample გვიჩვენებს, თუ როგორ გადავიტანოთ მარტივი პროგრამა CUDA-დან SYCL-ზე. Vector Add უზრუნველყოფს მარტივ გზას იმის დასადასტურებლად, რომ თქვენი განვითარების გარემო სწორად არის დაყენებული Intel® DPC++ თავსებადობის ინსტრუმენტის გამოსაყენებლად. |
საქაღალდის პარამეტრები DPCT
|
საქაღალდის ოფციები DPCT sample გვიჩვენებს, თუ როგორ უნდა მოხდეს უფრო რთული პროექტების მიგრაცია და ოფციების გამოყენება. |
როდინია NW DPCT
|
Rodinia NW DPCT sampგვიჩვენებს, თუ როგორ გადაიტანოთ Make/CMake პროექტი CUDA-დან SYCL-ზე Intel® DPC++ თავსებადობის ხელსაწყოს გამოყენებით. |
Review README file უზრუნველყოფილია ყოველი სample უფრო დეტალური ინფორმაციისთვის ს-ის მიზნისა და გამოყენების შესახებampპროექტი.
წვდომისათვის სamples
- გამოიყენეთ oneapi-cli პროგრამა, რათა აირჩიოთ როგორცampIntel® DPC++ თავსებადობის ხელსაწყოების კატეგორიიდან, ან
- ჩამოტვირთეთ სamples from GitHub*.
უფრო დეტალური ინფორმაციისთვის, თუ როგორ უნდა ჩამოტვირთოთ და შეხვიდეთ sampუფრო მეტიც, ეწვიეთ Intel® OneAPI Base Toolkit-ის დაწყების სახელმძღვანელოებს:
- დაწყების სახელმძღვანელო Intel® OneAPI Base Toolkit-ისთვის Windows*
- დაიწყეთ Intel® OneAPI Base Toolkit Linux-ისთვის*
- დაიწყეთ Intel® OneAPI Base Toolkit-ით macOS-ისთვის*
სცადეთ Sample პროექტი
მიჰყევით ამ ნაბიჯებს ვექტორის დამატების DPCT-ების მიგრაციისთვისampპროექტი Intel® DPC++ თავსებადობის ხელსაწყოს გამოყენებით:
- ჩამოტვირთეთ vector_add.cu sampლე.
- გაუშვით Intel® DPC++ თავსებადობის ინსტრუმენტი sample root დირექტორია:
dpct –in-root=. src/vector_add.cu vector_add.dp.cpp file უნდა გამოჩნდეს dpct_output დირექტორიაში. The file ახლა არის SYCLsource file.
- გადადით ახალ SYCL წყაროზე file:
| cd dpct_output |
გადაამოწმეთ გენერირებული წყარო კოდი და დააფიქსირეთ ნებისმიერი კოდი, რომლის მიგრაცია ვერ მოხერხდა Intel® DPC++ თავსებადობის ხელსაწყომ. (ამ მაგალითში გამოყენებული კოდიampმარტივია, ამიტომ ხელით ცვლილებები შეიძლება არ იყოს საჭირო). ყველაზე ზუსტი და დეტალური ინსტრუქციებისთვის Intel® DPC++ თავსებადობის ხელსაწყოდან გამოშვებული გაფრთხილებების მიმართვის შესახებ, იხილეთ მისამართის გაფრთხილებები მიგრირებულ კოდში. წაიკითხეთ files.
შენიშვნა შედგენა მიგრირებულ სample, დაამატეთ -I/include თქვენს კომპილ ბრძანებას.
უფრო რთული სampინსტრუქციები, იხილეთ პროექტის მიგრაცია Intel® DPC++ თავსებადობის ხელსაწყოს დეველოპერის სახელმძღვანელო და მითითების განყოფილება.
იპოვე მეტი
| შინაარსი | აღწერა |
| Intel® DPC++ თავსებადობა | დეტალურად დასრულდაview Intel® DPC++ თავსებადობის ხელსაწყოს ფუნქციების, სამუშაო მიმდინარეობისა და გამოყენების შესახებ. |
| მოთხოვნით Webinar: | როგორ გადავიტანოთ CUDA კოდი Data Parallel C++-ში (DPC++) Intel® DPC++ თავსებადობის ხელსაწყოს გამოყენებით, ერთჯერადი მიგრაციის ძრავით, რომელიც პორტირებს როგორც ბირთვს, ასევე API ზარებს. |
| ინსტალაციის სახელმძღვანელო Intel®-ისთვის | დეტალური ინსტრუქციები იმის შესახებ, თუ როგორ უნდა მიიღოთ და დააინსტალიროთ Intel® oneAPI პაკეტები ინსტალერის სხვადასხვა რეჟიმისა და პაკეტის მენეჯერების გამოყენებით. |
| SYCL სპეციფიკაციის ვერსია | SYCL სპეციფიკაცია PDF. განმარტავს, თუ როგორ აერთიანებს SYCL OpenCL მოწყობილობებს თანამედროვე C++-თან. |
| SYCL 2020 სპეციფიკაცია | SYCL 2020 სპეციფიკაცია PDF. |
| Khronos* SYCL დასრულდაview | დასრულდაview SYCL-ის მიერ მოწოდებული Khronos Group. |
| CUDA-ს შედგენა კლანგით | CUDA მხარდაჭერის აღწერა კლანგში. |
| Intel LLVM SYCL გაფართოებები | SYCL სპეციფიკაციის შემოთავაზებული გაფართოებები. |
| ფენები Yocto* პროექტისთვის | დაამატეთ ერთი API კომპონენტი Yocto პროექტის build-ში მეტა-ინტელის ფენების გამოყენებით. |

დოკუმენტები / რესურსები
![]() |
intel DPC++ თავსებადობის ინსტრუმენტი [pdf] მომხმარებლის სახელმძღვანელო DPC თავსებადობის ინსტრუმენტი, თავსებადობის ინსტრუმენტი, ხელსაწყო |




