stringtranslate.com

oneAPI (ускорение вычислений)

oneAPI — это открытый стандарт , принятый Intel, [1] для унифицированного интерфейса прикладного программирования (API), предназначенного для использования в различных архитектурах ускорителей вычислений ( сопроцессоров ), включая графические процессоры , ускорители ИИ и программируемые вентильные матрицы . Он предназначен для устранения необходимости разработчикам поддерживать отдельные кодовые базы, несколько языков программирования, инструментов и рабочих процессов для каждой архитектуры. [2] [3] [4] [5]

oneAPI конкурирует с другими вычислительными стеками GPU: CUDA от Nvidia и ROCm от AMD .

Спецификация

Спецификация oneAPI расширяет существующие модели программирования разработчиков, чтобы обеспечить поддержку нескольких аппаратных архитектур с помощью языка параллельных данных, набора библиотечных API и низкоуровневого аппаратного интерфейса для поддержки кросс-архитектурного программирования. Она основана на отраслевых стандартах и ​​предоставляет открытый кросс-платформенный стек разработчиков. [6] [7]

Параллельный анализ данных C++

DPC++ [8] [9] — это реализация языка программирования oneAPI, построенная на стандартах ISO C++ и Khronos Group SYCL . [10] DPC++ — это реализация SYCL с расширениями, которые предлагаются для включения в будущие версии стандарта SYCL, включая: унифицированную общую память, групповые алгоритмы и подгруппы. [11] [12] [13]

Библиотеки

Набор API [6] охватывает несколько областей, включая библиотеки для линейной алгебры, глубокого обучения, машинного обучения, обработки видео и другие.

Исходный код частей вышеуказанных библиотек доступен на GitHub. [14]

В документации oneAPI также перечислен API «Level Zero», определяющий низкоуровневые интерфейсы прямого доступа к металлу и набор компонентов трассировки лучей с собственными API. [6]

Уровень абстракции оборудования

oneAPI Level Zero, [15] [16] [17] низкоуровневый аппаратный интерфейс, определяет набор возможностей и служб, необходимых аппаратному ускорителю для взаимодействия со средами выполнения компилятора и другими инструментами разработчика.

Реализации

Корпорация Intel выпустила наборы инструментов для производства oneAPI, которые реализуют спецификацию и добавляют инструменты миграции, анализа и отладки кода CUDA. [18] [19] [20] К ним относятся компилятор Intel oneAPI DPC++/C++ , [21] компилятор Intel Fortran , профилировщик Intel VTune [22] и несколько библиотек производительности.

Codeplay выпустила среду с открытым исходным кодом [23] [24] [25] , позволяющую oneAPI и SYCL/DPC++ работать на графических процессорах Nvidia через CUDA .

Гейдельбергский университет разработал реализацию SYCL/DPC++ для графических процессоров AMD и Nvidia. [26]

Huawei выпустила компилятор DPC++ для своего чипсета Ascend AI [27]

Компания Fujitsu создала версию ARM с открытым исходным кодом библиотеки глубоких нейронных сетей oneAPI (oneDNN) [28] для своего процессора Fugaku .

Unified Acceleration Foundation (UXL) и будущее oneAPI

Unified Acceleration Foundation (UXL) — это новый технологический консорциум, который работает над продолжением инициативы OneAPI с целью создания новой экосистемы программного обеспечения ускорителей с открытым стандартом, связанных с ней открытых стандартов и проектов спецификаций через рабочие группы и специальные группы интересов (SIG). Целью будет конкуренция с CUDA от Nvidia. Основными компаниями, стоящими за этим, являются Intel, Google, ARM, Qualcomm, Samsung, Imagination и VMware. [29]

Ссылки

  1. ^ Фортенберри и Томов 2022, с. 22.
  2. ^ "Intel расширяет свое портфолио кремниевых продуктов и инициативу по разработке программного обеспечения oneAPI для высокопроизводительных вычислений следующего поколения". HPCwire . 2019-12-09 . Получено 2020-02-11 .
  3. ^ "Intel представляет новый графический процессор – Ponte Vecchio – и описывает стремления к oneAPI". HPCwire . 2019-11-18 . Получено 2020-02-11 .
  4. ^ "SC19: Intel представляет новый стек графических процессоров, усилия по разработке oneAPI - ExtremeTech". www.extremetech.com . Получено 11.02.2020 .
  5. ^ Кеннеди, Патрик (24.12.2018). «Intel One API to Rule Them All Is Much to Expand TAM» (Интеллектуальный API Intel для управления всеми ими крайне необходим для расширения TAM). ServeTheHome . Получено 11.02.2020 .
  6. ^ abc "Спецификация oneAPI". oneAPI .
  7. ^ «Подготовка к появлению дискретных высокопроизводительных графических процессоров Intel». HPCwire . 2021-03-23 ​​. Получено 2021-03-29 .
  8. ^ "Data Parallel C++: Освоение DPC++ для программирования гетерогенных систем с использованием C++ и SYCL". Apress .
  9. ^ Команда, редакция (2019-12-16). "Программирование гетерогенных вычислений: oneAPI и параллельный C++ данных". insideBIGDATA . Получено 2020-02-11 .
  10. ^ "Группа Khronos". Группа Khronos . 2020-02-11 . Получено 2020-02-11 .
  11. ^ "Khronos делает шаги к широкому развертыванию SYCL с выпуском предварительной спецификации SYCL 2020". Группа Khronos . 2020-06-30 . Получено 2020-07-06 .
  12. ^ staff (2020-06-30). "Новые открытые расширения DPC++ дополняют SYCL и C++". insideHPC . Получено 2020-07-06 .
  13. ^ «SYCL 2020 запускается с новым именем, новыми функциями и высокими амбициями». HPCwire . 2021-02-09 . Получено 2021-02-16 .
  14. ^ "oneAPI-SRC". GitHub .
  15. ^ Verheyde 2019-12-08T16:11:19Z, Арне. "Intel выпускает спецификацию Bare-Metal oneAPI Level Zero". Tom's Hardware . Получено 2020-02-11 .{{cite web}}: CS1 maint: числовые имена: список авторов ( ссылка )
  16. ^ "Intel's Compute Runtime добавляет поддержку oneAPI Level Zero - Phoronix". www.phoronix.com . Получено 10.03.2020 .
  17. ^ "Первоначальные тесты производительности Intel oneAPI уровня Zero - Phoronix". www.phoronix.com . Получено 13 апреля 2020 г.
  18. ^ "Intel Champions XPU Vision с oneAPI, графические процессоры для центров обработки данных - SDxCentral". SDxCentral . 2020-11-11 . Получено 2020-11-11 .
  19. ^ "Intel представляет oneAPI Gold и предоставляет более подробную информацию о дорожной карте GPU". HPCwire . 2020-11-11 . Получено 2020-11-11 .
  20. ^ Мурхед, Патрик. «Intel объявляет о выпуске Gold-версии OneAPI Toolkits и нового серверного графического процессора Intel». Forbes . Получено 08.12.2020 .
  21. ^ "Data Parallel C++ для кросс-архитектурных приложений". Intel . Получено 2021-10-07 .
  22. ^ "Устранение узких мест производительности с помощью Intel® VTune™ Profiler". Intel . Получено 2021-10-07 .
  23. ^ "Codeplay открывает исходники версии DPC++ для графических процессоров Nvidia". HPCwire . 2020-02-05 . Получено 2020-02-12 .
  24. ^ "OneAPI / DPC++ / SYCL от Intel будет работать поверх графических процессоров NVIDIA с открытым исходным кодом - Phoronix". www.phoronix.com . Получено 2019-12-06 .
  25. ^ "Codeplay - вклад Codeplay в DPC++ приносит поддержку SYCL для графических процессоров NVIDIA". www.codeplay.com . Получено 11.02.2020 .
  26. ^ Salter, Jim (2020-09-30). "Intel, Гейдельбергский университет объединяются, чтобы обеспечить поддержку Radeon GPU для искусственного интеллекта". Ars Technica . Получено 2021-10-07 .
  27. ^ Расширение DPC++ с поддержкой чипсета Huawei Ascend AI , получено 07.10.2021
  28. ^ Флтех. «Глубокое погружение в библиотеку глубокого обучения для процессора A64FX Fugaku — история разработки словами разработчика». fltech — 富士通研究所の技術ブログ(на японском языке) . Проверено 10 февраля 2021 г.
  29. ^ "Эксклюзив: Заговор с целью ослабить контроль Nvidia над ИИ, нацелившись на программное обеспечение" . Получено 2024-04-05 .

Источники

Внешние ссылки