Oneapi (Rechenbeschleunigung)

Oneapi
OneAPI-rgb-3000.png
Repository Github.com/Oneapi-Src
Betriebssystem Plattformübergreifend
Plattform Plattformübergreifend
Typ Open Source Softwarespezifikation Für parallele Programmierung
Webseite www.oneapi.com

Oneapi ist ein offener Standard für eine einheitliche Programmierschnittstelle für unterschiedliche Berechnung verwendet werden Beschleuniger (Coprozessor) Architekturen, einschließlich GPUS, KI -Beschleuniger und Feldprogrammierbare Gate-Arrays. Es ist beabsichtigt, die Notwendigkeit von Entwicklern zu beseitigen, separate Codebasis, mehrere Programmiersprachen und verschiedene Tools und Workflows für jede Architektur zu verwalten.[1][2][3][4]

Die Oneapi -Spezifikation

Die Oneapi-Spezifikation erweitert vorhandene Entwicklerprogrammiermodelle, um mehrere Hardware-Architekturen über eine datenparallele Sprache, eine Reihe von Bibliotheks-APIs und eine Hardware-Schnittstelle auf niedriger Ebene zu ermöglichen, um die Cross-Architecture-Programmierung zu unterstützen. Es baut auf Branchenstandards auf und bietet einen offenen, plattformübergreifenden Entwicklerstapel.[5][6]

Daten parallel C ++

DPC ++[7][8] ist eine offene, Kreuzarchitektursprache, die auf der aufbaut ISO C ++ und Khronos Gruppe Sycl Standards.[9] DPC ++ ist eine Implementierung von SYCL mit Erweiterungen, die für die Einbeziehung in zukünftige Revisionen des SYCL -Standards vorgeschlagen werden. Ein Beispiel hierfür ist der Beitrag eines einheitlichen gemeinsamen Speichers, Gruppenalgorithmen und Untergruppen zu SYCL 2020.[10][11][12]

Oneapi -Bibliotheken

Die API -Menge[13] erstreckt sich über mehrere Domänen, die von Beschleunigung profitieren, einschließlich Bibliotheken für lineare Algebra -Mathematik, Deep -Lernen, maschinelles Lernen, Videoverarbeitung und andere.

Bibliotheksname Kurz

Name

Beschreibung
Oneapi DPC ++ Bibliothek Oneedpl Algorithmen und Funktionen zur Beschleunigung der DPC ++ Kernel -Programmierung
Oneapi Math Kernel Library ONEMKL Mathematikroutinen einschließlich Matrixalgebra, FFT und Vektormathematik
Oneapi Data Analytics Library Onedal Funktionen für maschinelles Lernen und Datenanalyse
Oneapi Deep Neural Network Library Oneednn Neuronale Netze funktionieren für Deep -Learning -Training und -inferenz
Oneapi Collective Communications Library OneCcl Kommunikationsmuster für verteiltes tiefes Lernen
Oneapi -Fadenbausteine Onetbb Threading- und Speicherverwaltungsvorlagenbibliothek
Oneapi Video Processing Library ONVPL Echtzeit-Videocodierung, Dekodierung, Transcode und Verarbeitung

Das Quellcode Die meisten Implementierungen der oben genannten Bibliotheken sind auf GitHub verfügbar.[14]

Hardware -Abstraktionsschicht

Oneapi Level Null,[15][16][17] Die Hardware-Schnittstelle auf niedriger Ebene definiert eine Reihe von Funktionen und Diensten, die ein Hardware-Beschleuniger mit Compiler Runtimes und anderen Entwickler-Tools verkürzen muss.

Implementierungen

Intel Hat die Produktionsqualität von Oneapi -Toolkits veröffentlicht, die die Spezifikation implementieren und CUDA -Code -Migration, Analyse und Debug -Tools hinzufügen.[18][19][20] Dazu gehören die Intel Oneapi DPC ++/C ++ - Compiler,[21] Intel Forran Compiler, Intel vtune Profiler[22] und mehrere Leistungsbibliotheken.

Codeplay hat eine Open-Source-Schicht veröffentlicht[23][24][25] Oneapi zulassen und SYCL/DPC ++ auf dem Laufenden Nvidia GPUS über CUDA.

Die University of Heidelberg hat eine SYCL/DPC ++ -Implementierung für AMD- und NVIDIA -GPUs entwickelt.[26]

Huawei veröffentlichte einen DPC ++ - Compiler für ihren Ascend AI -Chipsatz[27]

Fujitsu hat eine Open-Source geschaffen ARM Version der Oneapi Deep Neural Network Library (Oneednn)[28] für ihre Fugaku -CPU.

Verweise

  1. ^ "Intel erweitert sein Siliziumportfolio und die Oneapi-Software-Initiative für HPC der nächsten Generation". HPCWire. 2019-12-09. Abgerufen 2020-02-11.
  2. ^ "Intel debütiert die neue GPU - Ponte Vecchio - und skizziert Bestrebungen nach Oneapi". HPCWire. 2019-11-18. Abgerufen 2020-02-11.
  3. ^ "SC19: Intel enthüllt neuen GPU -Stack, Oneapi -Entwicklungsbemühungen - Extremetech". www.extremetech.com. Abgerufen 2020-02-11.
  4. ^ Kennedy, Patrick (2018-12-24). "Intel One API, um sie alle zu regieren, ist dringend erforderlich, um TAM zu erweitern.". Servethehome. Abgerufen 2020-02-11.
  5. ^ "Die Oneapi -Spezifikation". Oneapi.{{}}: CS1 Wartung: URL-Status (Link)
  6. ^ "Vorbereitung auf die Ankunft des diskreten Hochleistungs-GPUs von Intel". HPCWire. 2021-03-23. Abgerufen 2021-03-29.
  7. ^ "Daten parallel C ++: Beherrschen DPC ++ zur Programmierung heterogener Systeme mit C ++ und SYCL". Apress.{{}}: CS1 Wartung: URL-Status (Link)
  8. ^ Team, Editorial (2019-12-16). "Heterogene Computerprogrammierung: Oneapi und Daten parallel C ++". InsideBigdata. Abgerufen 2020-02-11.
  9. ^ "Die Khronos -Gruppe". Die Khronos -Gruppe. 2020-02-11. Abgerufen 2020-02-11.
  10. ^ "Khronos Schritte in Richtung weit verbreiteter Bereitstellung von SYCL mit der Veröffentlichung der vorläufigen Spezifikation von SYCL 2020". Die Khronos -Gruppe. 2020-06-30. Abgerufen 2020-07-06.
  11. ^ Mitarbeiter (2020-06-30). "Neue, offene DPC ++ -Aufweiterungen ergänzen Sycl und C ++". InsideHPC. Abgerufen 2020-07-06.
  12. ^ "SYCL 2020 startet mit neuen Namen, neuen Funktionen und hohen Ambitionen". HPCWire. 2021-02-09. Abgerufen 2021-02-16.
  13. ^ "Oneapi -Spezifikationselemente". Oneapi.{{}}: CS1 Wartung: URL-Status (Link)
  14. ^ "Oneapi-Src". GitHub.
  15. ^ Verheyde 2019-12-08t16: 11: 19z, Arne. "Intel veröffentlicht die Spezifikation" Bare-Metal Oneapi Level Null "". Toms Hardware. Abgerufen 2020-02-11.
  16. ^ "Intel's Compute Runtime fügt die Unterstützung von Oneapi Level Null hinzu - Phoronix". www.phoronix.com. Abgerufen 2020-03-10.
  17. ^ "Erste Benchmarks mit Intel Oneapi Level Null -Leistung - Phoronix". www.phoronix.com. Abgerufen 2020-04-13.
  18. ^ "Intel Champions XPU Vision mit Oneapi, GPUs von Rechenzentrum - SDXCentral". Sdxcentral. 2020-11-11. Abgerufen 2020-11-11.
  19. ^ "Intel debütiert Oneapi Gold und liefert weitere Details zur GPU -Roadmap". HPCWire. 2020-11-11. Abgerufen 2020-11-11.
  20. ^ Moorhead, Patrick. "Intel kündigt die Goldveröffentlichung von Oneapi Toolkits und der neuen Intel Server -GPU an.". Forbes. Abgerufen 2020-12-08.
  21. ^ "Daten parallel C ++ für Cross-Architecture-Anwendungen". Intel. Abgerufen 2021-10-07.
  22. ^ "Performance -Engpässe mit Intel® Vtune ™ Profiler beheben". Intel. Abgerufen 2021-10-07.
  23. ^ "Codeplay Open Sources Eine Version von DPC ++ für Nvidia gpus". HPCWire. 2020-02-05. Abgerufen 2020-02-12.
  24. ^ "Intel's Oneapi / DPC ++ / SYCL wird auf Nvidia gpus mit Open -Source -Schicht - Phoronix" ausgeführt. ". www.phoronix.com. Abgerufen 2019-12-06.
  25. ^ "Codeplay - Codeplay -Beitrag zu DPC ++ bringt die SYCL -Unterstützung für NVIDIA GPUS". www.codeplay.com. Abgerufen 2020-02-11.
  26. ^ Salter, Jim (2020-09-30). "Intel, Heidelberg University hat sich zusammengetan, um die Unterstützung von Radeon GPU zur KI zu bringen". ARS Technica. Abgerufen 2021-10-07.
  27. ^ Erweiterung von DPC ++ mit Unterstützung für Huawei Ascend AI Chipsatz, abgerufen 2021-10-07
  28. ^ Fltech. "Ein tiefes Eintauchen in eine Deep Learning Library für die A64FX Fugaku CPU - die Entwicklungsgeschichte in den eigenen Worten des Entwicklers". fltech - 富士通 研究 所 の 技術 ブログ ブログ (auf Japanisch). Abgerufen 2021-02-10.

Externe Links