The Intel® oneAPI Base Toolkit is a set of core tools and libraries for developing
highperformance, data-centric applications targeting a variety of Intel® architectures
(CPU, GPU, FPGA). It includes:
- Intel® oneAPI DPC++/C++ Compiler
- Intel® DPC++ Compatibility Tool
- Intel® oneAPI DPC++ Library
- Intel® oneAPI Math Kernel Library
- Intel® oneAPI Threading Building Blocks
- Intel® oneAPI Data Analytics Library
- Intel® oneAPI Deep Neural Network Library
- Intel® oneAPI Collective Communications Library
- Intel® oneAPI Video Processing Library
- Intel® Integrated Performance Primitives
- Intel® VTune Profiler
- Intel® Advisor
- Intel® Distribution for GDB
- Intel® Distribution of Python
Break away from proprietary single architecture languages and deliver parallel
programming productivity with uncompromised performance for Intel® CPUs and
accelerators.
Take advantage of Priority Support for fast development with direct access
to Intel engineers for technical questions.
Get the Toolkit Now with Priority Support.
Intel® oneAPI
Basierend auf dem Gedanken "ein Quellcode für verschiedene Systeme"
liefert Intel Werkzeuge zur Produktion hochperformanter Programme für
verschiedene Prozessorarchitekturen.
Dies können CPUs, GPUs, FPGAs und weitere Prozessorsysteme ("Accelerators")
sein. Zur Programmierung dieser XPUs (verallgemeinernde Abkürzung) liefert
Intel ein auf
Data Parallel C++ (DPC++) basierendes Compilersystem
und passende Bibliotheken (oneAPI Libraries). DPC++ ist eine Weiterentwicklung
von C++. Zusätzlich werden Analyse-Werkzeuge und Debugger bereitgestellt,
die der Arbeitserleichterung, Fehlerfindung und Performanceverbesserung dienen.
Maschinencode vs. Bytecode
Im Gegensatz zu den bisherigen Möglichkeiten zur plattformübergreifenden
Programmierung, die in den meisten Fällen auf Skripten (z.B. PHP, JavaScript)
oder Zwischencode (sog. Bytecode; z.B. Java, C#) basieren und zur Ausführung
eine Runtime-Umgebung oder Interpreter benötigen, erzeugt DPC++ compilierten,
prozessorspezifischen Maschinencode, der keine Umsetzung von Script- oder
Bytecode in Maschinencode während seiner Ausführung benötigt.
Daß dies einen erheblichen Performancevorteil bietet, ist offensichtlich.
Darüberhinaus ist Intels DPC++ Compilersystem mit prozessorspezifischen
Tuning-Optionen ausgestattet.
Bestandteile der Intel® oneAPI Toolkits
-
Intel® oneAPI DPC++/C++ Compiler
Compiler für C++, SYCL und DPC++ Quellcode
Erzeugt optimierten Binärcode (sowohl für das Gast- als auch
das Zielsystem, bspw. Acceleratoren)
-
Intel® DPC++ Compatibility Tool
Assistent zur Migration von CUDA Quellcode nach DPC++
-
Intel® oneAPI DPC++ Library
Funktionssammlung zur hoch-performanten Parallel-Verarbeitung von Daten
-
Intel® oneAPI Threading Building Blocks
Eine weitere Funktionssammlung für die parallele Programmierung
-
Intel® oneAPI Math Kernel Library
Die Weiterentwicklung der bekannten MKL mit Funktionen basierend auf BLAS,
LAPACK, SCALAPACK, FFTW, usw.
-
Intel® oneAPI Data Analytics Library
Sammlung von Funktionen zur Verarbeitung riesiger Datenmengen, zum Einsatz
in Programmen der Künstlichen Intelligenz, Datenanalyse usw.
-
Intel® Distribution for Python
Hochperformante Funktionen zur Verwendung in Python
-
Intel® VTune™ Profiler
Analyse-Tool zum Auffinden von Performance-Engpässen
-
Intel® Advisor
Assistent und Ratgeber zur Performanceverbesserung von Programmen
-
Intel® oneAPI Video Processing Library
Library mit Funktionen zur Videoverarbeitung (high-speed, real-time decoding
/ encoding)
-
Intel® oneAPI Deep Neural Network Library
Funktionssammlung für die Programmierung von KI Applikatione
-
Intel® oneAPI Collective Communications Library
Funktionen zum skalierbaren und effizienten Trainieren Neuronaler Netze
-
Intel® Integrated Performance Primitives
Sammlung von Funktionen zur Bild- und Signalverarbeitung, Kryptographie,
Datenkomprimierung u.a.
Des weiteren sind noch spezielle Varianten der C++ und Fortran
Compiler (Intel® C++ Compiler Classic, Intel® Fortran Compiler Classic)
erhältlich, die Bestandteile einiger der u.g. Toolkits sind.
Intel® oneAPI Toolkits
Intel bietet vier verschiedene oneAPI Toolkit Varianten an:
-
Intel® oneAPI Base Toolkit
Intel®: "Get started with this foundational
kit that enables developers of all types to build, test, and deploy performance-driven,
data-centric applications across CPUs, GPUs, and FPGAs."
- Intel® oneAPI Base & HPC Toolkit
Intel®: "Deliver fast C++, Fortran, OpenMP, and
MPI applications that scale."
- Intel® oneAPI Base & IoT Toolkit
Intel®: "Build high-performing, efficient, reliable
solutions that run at the network’s edge."
- Intel® oneAPI Base & Rendering Toolkit
Intel®: "Create high-performance, high-fidelity
visualization applications."
Diese sind inclusive Support durch Intel käuflich erwerbbar. Ergänzend
sind vorhanden und auf Anfrage erhältlich:
-
Intel® oneAPI DL Framework Developer Toolkit
-
Intel® oneAPI Intel® AI Analytics Toolkit
-
Intel® oneAPI Intel® OpenVINO Toolkit
-
Intel® oneAPI Intel® System Bring-UpToolkit
Betriebssysteme
Die Intel® oneAPI Toolkits sind derzeit für Windows,
Linux und MacOS erhältlich, wobei nicht immer alle Betriebssysteme unterstützt
werden.
Toolkit Bestandteile
Intel® oneAPI Tool |
Base
|
HPC
|
Iot
|
Rendering
|
DPC++/ C++
Compiler |
x |
x |
x |
|
DPC++ Library |
x |
|
|
|
DPC++ Compatibility
Tool |
x |
|
|
|
GDB (Debugger) |
x |
|
|
|
Threading Building
Blocks |
x |
|
|
|
VTune™ Profiler |
x |
|
|
|
Advisor |
x |
|
|
|
Data Analytics
Library |
x |
|
|
|
Deep Neural Networks
Library |
x |
|
|
|
Collective Communications
Library |
x |
|
|
|
Integrated Performance
Primitives |
x |
|
|
|
Integrated Performance
Primitives Cryptography |
x |
|
|
|
Math Kernel Library |
x |
|
|
|
Video Processing
Library |
x |
|
|
|
Distribution
for Python |
x |
|
|
|
Cluster Checker |
|
x |
|
|
Fortran Compiler |
|
x |
|
|
Fortran Compiler
Classic |
|
x |
|
|
Inspector |
|
x |
x |
|
MPI Library |
|
x |
|
|
Trace
Analyzer and Collector |
|
x |
|
|
Eclipse IDE |
|
|
x |
|
IoT connection
tools |
|
|
x |
|
Linux Kernel
Build Tool |
|
|
x |
|
Embree |
|
|
|
x |
Open Image Denoise |
|
|
|
x |
OpenSWR |
|
|
|
x |
Open Volume Kernel
Library |
|
|
|
x |
OSPRay |
|
|
|
x |
Lizensierung
Wie schon beim früheren Intel® Parallel Studio XE wird
zwischen Einzelplatz- und Netzwerklizenzen unterschieden:
-
Single Node bzw. Named-user
Für einen registrierten Benutzer, zum Einsatz auf Laptop, Desktop und
Workstation
-
Concurrent
Für mehrere Benutzer im Netzwerk, zum Einsatz wie zuvor und zusätzlich
auf einem Server
- Multi Node Concurrent
Für mehrere Benutzer im Netzwerk, zum Einsatz wie zuvor und zusätzlich
in einem Cluster
Intel bietet bei den Netzwerklizenzen (Concurrent bzw. Multi Node
Concurrent) zwei Varianten an, die durch die maximale Anzahl der unterstützten
Entwickler (developer) definiert werden:
- Max. 10 Entwickler: 2 Concurrent User
- Max. 25 Entwickler: 5 Concurrent User
Sollen mehr Programmierer unterstützt werden, sind entsprechende
Vielfache dieser Lizenzen zu beschaffen.
Für die Netzwerklizenzen wird FlexLM nicht mitgeliefert (wie das früher
beim Intel® Parallel Studio XE der Fall war). Lizensierungs - bzw. Nutzungsbeschränkungen
ergeben sich jetzt aus der rechtlichen Grundlage (d.i.d. Lizenzvertrag
- EULA) bzw. der Registrierung der Entwickler in Intels Download- und Registrierungs-Center.
Des weiteren unterscheidet Intel zwischen kommerziellen Lizenzen
und akademischen. Letztere sind ausschließlich Hochschulen vorbehalten,
die akademische Grade verleihen. D.h. auch nicht-profitorientierte Forschungsinstitute
können nur kommerzielle Lizenzen mit Support erwerben.
Im Gegensatz zu früher, erfolgt nun keine betriebssystem-spezifische
Lizensierung mehr. D.h. bspw., wenn ein Intel® oneAPI Toolkit für
Linux und Windows verfügbar ist, dann umfaßt die Lizenz auch die
Nutzungserlaubnis für beide Betriebssystemvarianten.
Support
Nach Kauf und Registration eines Intel® oneAPI Toolkit erhalten
die registrierten Nutzer ein Jahr lang Zugang zum Intel Online Service Center,
über das sämtliche technische Unterstützungsleistungen, die Sie
anfragen, von Intel abgewickelt werden. Im diesem geschützten Bereich werden
auch Updates kostenfrei bereitgestellt. Ein Support-Kontrakt kann nach Ablauf
der Wartungsperiode erneuert werden ("Support Service Renewal").
Intel verspricht als Supportleistungen für Kunden mit Supportvertrag, daß
Anfragen (support tickets) bevorzugt und beschleunigt bearbeitet werden.
Für Nutzer, die Intel® oneAPI Toolkits ohne Supportvertrag einsetzen, moderiert
Intel öffentliche Supportforen, in denen sich die Benutzer gegenseitig
helfen.
Registrierte Nutzer mit Support haben Zugriff auf ältere Versionen (bei
den Compilern auf die letzten 3 größeren Releases). Nutzer ohne Support
steht nur die aktuelle Version zur Verfügung.
Lieferumfang ESD (electronic software delivery)
Wir liefern einen Link zu Intel's Download Center sowie einen Lizenzschlüssel (license key). Damit registrieren Sie sich dort für das lizensierte Produkt und können es dann laden. Der Lizenzschlüssel kann auch zur Installation verwendet werden. Falls Sie Schwierigkeiten damit haben sollten, hilft Intel's Support weiter, oder Sie kontaktieren uns. Wir lassen Sie nicht alleine, wenn etwas nicht klappt!
Academic License: Akademische Lizenzen dürfen laut Intel nur von sog. "degree granting institutions" gekauft werden. In D, A und CH sind dies nur die Hochschulen und Universitäten. Sie dürfen nicht für kommerzielle Zwecke verwendet werden (d.h. insbesondere, die damit erstellte Software darf nicht verkauft werden).
Commercial License: Kommerzielle Lizenzen gestatten die Nutzung auch zu kommerziellen Zwecken, d.h. die damit erstellte Software darf verkauft werden.
Support Service
Nach Kauf und Registration des Intel Software-Produkts erhalten Sie ein Jahr lang (=Wartungsperiode) Zugang zu Intel's Download Center sowie zum Intel Premier Support Forum, über das sämtliche technische Unterstützungsleistungen, die Sie anfragen, abgewickelt werden.
Im Download Center werden die aktuellen Versionen, Updates und auch ältere Versionen der Software kostenfrei zum Download bereitgestellt.
Ein Support-Service-Kontrakt kann vor oder nach Ablauf der Wartungsperiode (1 Jahr) erneuert werden (das sog.
Support Service Renewal - kurz SSR) . Eine neue Wartungsperiode beginnt jeweils am Folgetag des Ablaufs der vorherigen Wartungsperiode und zwar völlig unabhängig davon, wann die neue Wartung bestellt wird.