Heterogene Systeme: Intel veröffentlicht oneAPI-Spezifikation 1.0

Das Programmiermodell zum Entwickeln von Anwendungen auf heterogenen Systemen nimmt mit der 1.0-Relase der Spezifikation endgültig Gestalt an.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
Intel veröffentlicht oneAPI-Spezifikation 1.0

(Bild: HomeArt/Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

Knapp zwei Jahren nach der ersten Ankündigung der oneAPI hat Intel nun die Spezifikation des Programmiermodells in Version 1.0 veröffentlicht. Das System zielt auf Portabilität über unterschiedliche, heterogene Architekturen. oneAPI soll alle Intel-Prozessoren, GPUs, FPGAs sowie spezifische Hardwarebeschleuniger für Künstliche Intelligenz unter einen Hut bringen und dank einer offenen Architektur Chips anderer Hersteller ebenfalls einbeziehen.

Intel hatte das Modell erstmals noch als "One API" auseinander geschrieben vor zwei Jahren auf dem Architecture Day 2018 angekündigt und dabei das Motto "Kein Transistor wird zurückgelassen" (No transistor left behind) ausgerufen.

Im Kern von oneAPI steht Intels Cross-Architektur-Sprache DPC++ (Data Parallel C++), die C++ nach dem ISO-Standard mit dem Programmiermodell SYCL von der Khronos Group verbindet. Diese "Sickl" ausgesprochene Abstraktionsschicht zielt auf die heterogene Programmierung über diverse Prozessoren.

Das Modell erlaubt die direkte Programmierung mit DPC++ und eine Anbindung über diverse Libraries.

(Bild: Intel)

Neben der direkten Programmierung bietet die oneAPI zahlreiche Libraries, die vor allem die Bereiche Datenanalyse und Machine Learning abdecken, darunter die oneAPI Deep Neural Network Library (oneDNN), die oneAPI Data Analytics Library (oneDAL), die oneAPI Math Kernel Library (oneMKL). Daneben gibt es weitere Bibliotheken wie die oneAPI Video Processing Library (oneVPL) zur Videoverarbeitung und die oneAPI Threading Building Blocks (oneTBB), die beim Entwickeln von nebenläufigem C++-Code die Multicore-Performance optimieren soll.

Die Spezifikation der Abstraktionsschicht OneAPI Level Zero hat bereits Ende August Version 1.0 erreicht. Das Interface verbindet die unterschiedlichen Hardwareschnittstellen zu GPU, FPGA oder KI-Accelerator.

Auch wenn oneAPI in erster Linie auf Intel-Hardware abzielt, ist das Projekt offen ausgelegt. Intel spricht von einem industrieübergreifenden, standardbasierten, einheitlichen Programmiermodell. Eine Beteiligung an der Spezifikation ist über GitHub möglich. Bereits Anfang des Jahres hat Codeplay eine Implementierung von DPC++ zur Anbindung von Nvidia-Hardware zunächst als separaten Fork des LLVM-Compiler-Projekts für die Sprache veröffentlicht, der inzwischen im Hauptzweig des Projekts verankert ist.

(Bild: Intel)

Während das 1.0-Release der Spezifikation eine ausreichende Stabilität zum Entwickeln von Projekten für den produktiven Einsatz markiert, befindet sich das oneAPI Base Toolkit noch in der Betaphase. Der Werkzeugkasten enthält für die direkte Programmierung unter anderem einen DPC++-Compiler, eine Python-Distribution und ein spezielles Add-on zur FPGA-Programmierung. Außerdem sind die oben aufgeführten sowie weitere Libraries Bestandteil des Toolkits, und es enthält den VTune Profiler, den Intel Advisor sowie einen GPU-Debugger.

Weitere Details lassen sich der Ankündigung der oneAPI-Spezifikation 1.0 auf LinkedIn entnehmen.

(rme)