инструмент за съвместимост на intel DPC++

Започнете с инструмента за съвместимост Intel® DPC+ +
Инструментът за съвместимост Intel® DPC++ подпомага миграцията на програма на разработчици, която е написана на CUDA*, към програма, написана на Data Parallel C++ (DPC++), която е базирана на модерен C++ и включва преносими индустриални стандарти като SYCL*.
- Посетете Intel® DPC++ Compatibility Tool Guide and Reference за разработчици за допълнителна информация относно инструмента.
- Посетете бележките по изданието за известни проблеми и най-актуалната информация.
ЗАБЕЛЕЖКА Използването на инструмента за съвместимост 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++ Compatibility Tool, изпълнете следното:
- Под 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++ Compatibility Tool, използвайте –help:
| dpct – помощ |
За да видите списъка с опциите на езиковия анализатор (Clang*), подайте -help като опцията Clang:
| dpct — -помощ |
Излъчени предупреждения
Инструментът за съвместимост Intel® DPC++ идентифицира местата в кода, които може да изискват вашето внимание по време на миграцията на files, за да направите кода SYCL съвместим или правилен.
Коментарите се вмъкват в генерирания източник files и се показва като предупреждения в изхода. Напримерampле:
| /път/към/file.hpp:26:1: предупреждение: DPCT1003:0: Мигрираният API не връща код за грешка. Вмъква се (*,0). Може да се наложи да пренапишете този код. // ред на изходния код, за който е генерирано предупреждение ^ |
За повече подробности относно значението на конкретно предупреждение вижте Диагностична справка.
За повече подробности относно значението на конкретно предупреждение вижте справочника за диагностика.
Мигрирайте прост тестов проект
Инструментът за съвместимост Intel® DPC++ се доставя с няколко sample проекти, за да можете да проучите инструмента и да се запознаете с начина му на функциониране:
| Sample Project | Описание |
Векторно добавяне на DPCT
|
Векторното добавяне на DPCT sample демонстрира как да мигрирате проста програма от CUDA към SYCL. Vector Add предоставя лесен начин да проверите дали вашата среда за разработка е настроена правилно за използване на инструмента за съвместимост Intel® DPC++. |
Опции на папката DPCT
|
Опциите на папката DPCT sample показва как да мигрирате по-сложни проекти и да използвате опции. |
Rodinia NW DPCT
|
Родиния NW DPCT sample демонстрира как да мигрираме проект Make/CMake от CUDA към SYCL с помощта на инструмента за съвместимост Intel® DPC++. |
Review README file предоставени с всеки sample за по-подробна информация относно предназначението и използването на sample проект.
За достъп до sampлес
- използвайте помощната програма oneapi-cli, за да изберете катоampфайл от категорията Intel® DPC++ Compatibility Tool, или
- изтеглете sampлес от GitHub*.
За по-подробна информация как да изтеглите и получите достъп до sampпосетете началните ръководства на Intel® oneAPI Base Toolkit:
- Ръководство за първи стъпки с Intel® oneAPI Base Toolkit за Windows*
- Започнете с Intel® oneAPI Base Toolkit за Linux*
- Започнете с Intel® oneAPI Base Toolkit за macOS*
Опитайте Sample Project
Следвайте тези стъпки, за да мигрирате Vector Add DPCT sampфайл с помощта на инструмента за съвместимост Intel® DPC++:
- Изтеглете vector_add.cu sampле.
- Стартирайте инструмента за съвместимост Intel® DPC++ от sampосновна директория:
dpct –in-root=. src/vector_add.cu Vector_add.dp.cpp file трябва да се появи в директорията dpct_output. The file вече е източник на SYCL file.
- Придвижете се до новия източник на SYCL file:
| cd dpct_изход |
Проверете генерирания изходен код и поправете всеки код, който Intel® DPC++ Compatibility Tool не успя да мигрира. (Кодът, използван в този примерample е прост, така че може да не са необходими ръчни промени). За най-точните и подробни инструкции относно адресирането на предупреждения, излъчвани от Intel® DPC++ инструмента за съвместимост, вижте раздела Адресиране на предупреждения в мигрирания код на README files.
ЗАБЕЛЕЖКА За компилиране на мигрираните sample, добавете -I/include към вашата команда за компилиране.
За по-сложни sample инструкции, вижте Мигриране на проект раздел на ръководството и справочника за разработчици на инструмента за съвместимост Intel® DPC++.
Намерете повече
| Съдържание | Описание |
| Съвместимост с Intel® DPC++ | Подробно надview на функциите на инструмента за съвместимост Intel® DPC++, работния процес и използването. |
| При поискване Webинар: | Как да мигрирам CUDA код към Data Parallel C++ (DPC++) с помощта на Intel® DPC++ Compatibility Tool, еднократна миграционна машина, която пренася както ядра, така и API извиквания. |
| Ръководства за инсталиране на Intel® | Подробни инструкции как да получите и инсталирате пакети Intel® oneAPI, като използвате различни режими на инсталатора и мениджъри на пакети. |
| Версия на спецификацията на SYCL | PDF спецификацията на SYCL. Обяснява как SYCL интегрира OpenCL устройства с модерен C++. |
| Спецификация на SYCL 2020 | PDF спецификацията на SYCL 2020. |
| Khronos* SYCL приключиview | Овърview на SYCL, предоставена от Khronos Group. |
| Компилиране на CUDA с clang | Описание на поддръжката на CUDA в clang. |
| Intel LLVM SYCL разширения | Предложени разширения на спецификацията SYCL. |
| Слоеве за проекта Yocto* | Добавете един API компонент към компилация на проект на Yocto, като използвате слоевете meta-intel. |

Документи / Ресурси
![]() |
инструмент за съвместимост на intel DPC++ [pdf] Ръководство за потребителя DPC инструмент за съвместимост, инструмент за съвместимост, инструмент |




