Інструмент сумісності intel DPC++ 

Інструмент сумісності intel DPC++

Почніть роботу з інструментом сумісності Intel® DPC+ +

Інструмент сумісності Intel® DPC++ допомагає перенести програму розробника, написану на CUDA*, на програму, написану на Data Parallel C++ (DPC++), яка базується на сучасному C++ і включає портативні промислові стандарти, такі як SYCL*.

  • Відвідайте Intel® DPC++ Compatibility Tool Посібник і довідник для розробників, щоб отримати додаткову інформацію про інструмент.
  • Відвідайте Примітки до випуску, щоб отримати відомі проблеми та найновішу інформацію.

ПРИМІТКА Використання інструмента сумісності Intel® DPC++ призведе до того, що проект не буде перенесено повністю. Для завершення міграції потрібна додаткова робота, як зазначено в результатах інструмента сумісності Intel® DPC++.

Перед тим як ти почнеш

Інструмент сумісності Intel® DPC++ входить до базового набору інструментів Intel® oneAPI. Якщо ви не встановили базовий набір інструментів Intel® oneAPI, дотримуйтесь інструкцій у посібнику з інсталяції.

Певний заголовок 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++ 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++, використовуйте –help:

dpct – допомога

Щоб переглянути список параметрів аналізатора мови (Clang*), передайте -help як параметр Clang:

dpct — -допомога
Видані попередження

Інструмент сумісності Intel® DPC++ визначає місця в коді, які можуть потребувати вашої уваги під час міграції files щоб зробити код SYCL сумісним або правильним.
Коментарі вставляють у згенероване джерело files і відображається як попередження у вихідних даних. наприкладampле:

/шлях/до/file.hpp:26:1: попередження: DPCT1003:0: перенесений API не повертає код помилки. (*,0) вставлено. Можливо, вам доведеться переписати цей код. // рядок вихідного коду, для якого було створено попередження ^

Додаткову інформацію про значення конкретного попередження див Діагностична довідка.

Щоб отримати докладніші відомості про те, що означає конкретне попередження, зверніться до Діагностичного довідника.

Перенесіть простий тестовий проект

Інструмент сумісності Intel® DPC++ поставляється з кількома sampфайли проектів, щоб ви могли вивчити інструмент і ознайомитися з тим, як він працює:

Sample Project опис
 Векторне додавання DPCT
  • vector_add.cu
Vector Add DPCT sampLe демонструє, як перенести просту програму з CUDA на SYCL. Vector Add забезпечує простий спосіб перевірити, чи правильно налаштовано ваше середовище розробки для використання інструменту сумісності Intel® DPC++.
Параметри папки DPCT
  • main.cu
  • bar/util.cu
  • бар/корис.ч
Параметри папки DPCT sample показує, як перенести більш складні проекти та використовувати опції.
Rodinia NW DPCT
  • голка.куб
  • голка.ч
  • needle_kernel.cu
Rodinia 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:

Спробуйте Sample Project 

Виконайте ці кроки, щоб перенести Vector Add DPCTampпроект файлу за допомогою інструмента сумісності Intel® DPC++:

  1. Завантажте vector_add.cu sampLe.
  2. Запустіть інструмент сумісності Intel® DPC++ із sampкореневий каталог le:
    dpct –in-root=. src/vector_add.cu

     

    Vector_add.dp.cpp file має з’явитися в каталозі dpct_output. The file тепер є джерелом SYCL file.

  3. Перейдіть до нового джерела SYCL file:
cd dpct_output

Перевірте згенерований вихідний код і виправте будь-який код, який Інструмент сумісності Intel® DPC++ не зміг перенести. (Код, використаний у цьому прикладіampфайл простий, тому ручні зміни можуть не знадобитися). Для отримання найбільш точних і детальних інструкцій щодо адресації попереджень, що надходять із засобу сумісності Intel® DPC++, див. розділ «Адресація попереджень у переміщеному коді» README files.

ПРИМІТКА Для компіляції переміщених sample, додайте -I/include до вашої команди компіляції.

Для більш складних sample інструкції див Перенести проект розділ Посібника розробника та довідника інструмента сумісності Intel® DPC++.

знайти

зміст опис
Сумісність з Intel® DPC++

Посібник розробника інструментів і

Посилання

Детально надview функцій, робочого процесу та використання Intel® DPC++ Compatibility Tool.
On-Demand Webinar:

Міграція наявної CUDA

Код до коду DPC++

Як перенести код CUDA на Data Parallel C++ (DPC++) за допомогою Intel® DPC++ Compatibility Tool, механізму одноразової міграції, який портує як ядра, так і виклики API.
Посібники зі встановлення для Intel®

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

Докладні інструкції щодо отримання та встановлення пакетів Intel® oneAPI за допомогою різних режимів встановлення та менеджерів пакетів.
Версія специфікації SYCL

1.2.1 PDF

Специфікація SYCL PDF. Пояснює, як SYCL інтегрує пристрої OpenCL із сучасним C++.
Специфікація SYCL 2020 Специфікація SYCL 2020 PDF.
Хронос* SYCL завершеноview А закінченняview SYCL, наданий групою Khronos.
Компіляція CUDA з clang Опис підтримки CUDA в clang.
Розширення Intel LLVM SYCL Пропоновані розширення специфікації SYCL.
Шари для проекту Yocto* Додайте один компонент API до збірки проекту Yocto за допомогою мета-рівнів Intel.

логотип intel

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

Інструмент сумісності intel DPC++ [pdf] Посібник користувача
Інструмент сумісності DPC, інструмент сумісності, інструмент

посилання

Залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *