Beschreibung
Vereinheitlichtes Programmiemodell für verschiedene Prozessorarchitekturen
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 (MKL)
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 Applikationen - Intel® oneAPI Collective Communications Library
Funktionen zum skalierbaren und effizienten Trainieren Neuronaler Netze - Intel® Integrated Performance Primitives (IPP)
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) inbegriffen, 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 Fortran Promo = Intel® Fortran Compilers
Dies enthält die Intel® Fortran Compiler und die MKL.
- Intel® oneAPI Fortran Promo = Intel® Fortran Compilers
- 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 (technischer Support durch Intel, incl. Updates für 1 Jahr) von uns erhältlich.
Ergänzend sind vorhanden und auf Anfrage verfügbar:
- Intel® oneAPI DL Framework Developer Toolkit
- Intel® oneAPI Intel® AI Analytics Toolkit
- Intel® oneAPI Intel® OpenVINO Toolkit
- Intel® oneAPI Intel® System Bring-UpToolkit
Preise für diese Toolkits sowie für die IOT und Rendering Toolkits erbitten wir bei Interesse zu erfragen.
Betriebssysteme
Die Intel® oneAPI Toolkits sind derzeit für Windows, Linux und MacOS erhältlich, wobei allerdings nicht immer alle Tools auf jedem Betriebssystem verfügbar sind.
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
Intel unterscheidet zwischen Einzelplatz- und Mehrplatzlizenzen:
-
Named-user
Für einen registrierten Benutzer, zum Einsatz auf Laptop, Desktop und Workstation -
Workgroup
Für bis zu 10 Benutzer im lokalen Netzwerk -
Department
Für bis zu 25 Benutzer im lokalen Netzwerk -
Division
Für bis zu 50 Benutzer im lokalen Netzwerk
Sollen mehr Programmierer unterstützt werden, sind entsprechende Vielfache dieser Lizenzen zu beschaffen.
Preise für Benutzerzahlen >10 bzw. Firmenlizenzen („site licence“) fragen Sie bitte an.
Vom Intel® oneAPI Base & HPC Toolkit gibt es zwei Varianten:
-
Single Node – für den Betrieb auf einzelnen PCs
-
Multi-Node – für den Betrieb bzw. die Nutzung im Cluster
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).
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. eine Intel® oneAPI Toolkit Lizenz umfaßt die Nutzungserlaubnis auf PCs unter Linux, Windows und MacOS.
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.