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

инструмент за съвместимост на 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
  • vector_add.cu
Векторното добавяне на DPCT sample демонстрира как да мигрирате проста програма от CUDA към SYCL. Vector Add предоставя лесен начин да проверите дали вашата среда за разработка е настроена правилно за използване на инструмента за съвместимост Intel® DPC++.
Опции на папката DPCT
  • main.cu
  • bar/util.cu
  • бар/утил.ч
Опциите на папката DPCT sample показва как да мигрирате по-сложни проекти и да използвате опции.
Rodinia NW DPCT
  • игла.cu
  • игла.ч
  • needle_kernel.cu
Родиния 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:

Опитайте Sample Project 

Следвайте тези стъпки, за да мигрирате Vector Add DPCT sampфайл с помощта на инструмента за съвместимост Intel® DPC++:

  1. Изтеглете vector_add.cu sampле.
  2. Стартирайте инструмента за съвместимост Intel® DPC++ от sampосновна директория:
    dpct –in-root=. src/vector_add.cu

     

    Vector_add.dp.cpp file трябва да се появи в директорията dpct_output. The file вече е източник на SYCL file.

  3. Придвижете се до новия източник на 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

Код към DPC++ код

Как да мигрирам CUDA код към Data Parallel C++ (DPC++) с помощта на Intel® DPC++ Compatibility Tool, еднократна миграционна машина, която пренася както ядра, така и API извиквания.
Ръководства за инсталиране на Intel®

oneAPI набори от инструменти

Подробни инструкции как да получите и инсталирате пакети Intel® oneAPI, като използвате различни режими на инсталатора и мениджъри на пакети.
Версия на спецификацията на SYCL

1.2.1 PDF

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

Документи / Ресурси

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

Референции

Оставете коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са маркирани *