So vereinfacht die Programmierumgebung Intel oneAPI die Software-Entwicklung

geschätzter Leseaufwand: 3 Minuten

Heute beginnt in Hamburg und rein virtuell der zweite Tag der ISC High Performance 2022, auf der alles um die Themen Supercomputing, High Performance Computing und Künstliche Intelligenz dreht. Mit dabei ist der Chiphersteller Intel, der sowohl vor Ort als auch im Rahmen seiner digitalen ISC-Lounge viele News und Neuigkeiten dabei hat. Aber auch Bekanntes wird dort und im Web zu sehen sein, wie zum Bespiel die Einsatzmöglichkeiten der Programmierumgebung Intel oneAPI. Was es damit auf sich hat und wer es bereits nutzt, zeigt dieser Beitrag.

Sieht man sich die Welt des Supercomputings etwas genauer an, fällt eines auf: Die zur Verfügung stehenden Prozessoren leisten ihren ganz eigenen Anteil an den Berechnungen, die für das schnelle Berechnen der enormen Daten und Zahlen erforderlich sind. Ob das Hochleistungs-CPUs sind wie der skalierbare Intel Xeon Prozessoren für das schnelle Trainieren von neuronalen Netzen oder Intels Data Center-GPUs mit dem Codenamen Ponte Vecchio für das Ausführen aufwändiger Inferencing-Aufgaben – diese und weitere Silizium-Komponenten wie FGPAs werden für ihre bestmögliche Performance an die jeweilige Plattform mit den passenden Software-Tools angepasst.

CPU-, GPU- und FGPA-Programmierung unter einer Oberfläche

Je breiter gefächert die zum Einsatz kommenden Recheneinheiten sind, desto größer ist der jeweilige Programmieraufwand, der theoretisch für jede CPU- und GPU-basierte Maschine erforderlich ist, um den jeweiligen Softwarecode entsprechend anzupassen. Theoretisch. Denn mit der Entwicklungsumgebung Intel oneAPI steht den Anwendungsentwicklern dieser Welt ein Tool zur Verfügung, mit dem sie ihre Software-Applikationen für jedwede Plattform optimieren können. Ganz gleich also, ob es sich dabei um einen Prozessor, einen Grafikchip oder einen FGPA-Baustein handelt – Intel oneAPI kommt für jegliche Komponente gleichermaßen infrage. Doch wie funktioniert das Ganze genau? Nun, hierfür ist ein Blick auf die zugehörige Intel-Webseite ausreichend.

Als erstes fällt auf, dass es nicht dieses eine Intel oneAPI-Toolkit gibt, sondern eine Vielzahl an verschiedenen Paketen. Jedes davon adressiert seine ganz eigene Zielgruppe. So steht für häufig benötigte Funktionen ein Basis-Toolkit bereit, das sich an Entwickler richtet, die Anwendungen programmieren, die gleichermaßen auf CPUs, GPUs und FGPAs ausgeführt werden sollen. Daneben existieren spezielle Varianten für HPC-Entwickler, für Anwendungen mit Schwerpunkt auf 3D-Visualisierung, für Applikationen aus den Bereichen IoT sowie Edge Computing und ein eigenes Toolkit für KI-Anwendungen.

C++Compiler, Software-Bibliotheken und mehr

Sie alle eint dieselbe Basis an Programmiertools und -sprachen. Dazu gehören angepasste C++Compiler genauso wie hochspezialisierte Runtime-Bibliotheken, die angepasste Funktionen bieten, die sich mit ein paar Mausklicks in den jeweiligen Sourcecode einbinden lassen. Aber auch Software-Werkzeuge wie der Intel VTune Profiler gehören zu der Ausstattung des Intel oneAPI Basis-Toolkits. Damit lassen sich mit relativ geringem Aufwand Schwachstellen und Bottlenecks aufspüren, die Anwendungen unnötigerweise ausbremsen und damit die Software nicht ihr volles Potential entfalten kann.

Intel oneAPI auf der ISC High Performance 2022

Da die Intel oneAPI Toolkits gerade die Bereiche Supercomputing, HPC und KI und deren Entwickler-Community adressieren, ist es ziemlich naheliegend, dass es auf der ISC High Performance 2022 ein dazu passendes Events gab. Die Rede ist vom oneAPI DevSummit, auf dem es den ganzen Tag um die zahlreichen Anwendungsszenarien der openAPI-Programmierung ging. Mehr Infos dazu gibt es auf der Intel ISC-Seite.

Exascale-Supercomputing Aurora goes Intel oneAPI

Supercomputer wie der am Argonne National Laboratory stehende Exascale-Rechner Aurora soll in seiner finalen Ausbaustufe etwa 20.000 CPUs vom Typ skalierbarer Intel Xeon Prozessor der 4. Generation und ca. 60.000 Ponte Vecchio basierte GPU-Einheiten beherbergen. Klar, dass für bestmöglich optimierte HPC- und KI-Anwendungen Werkzeuge wie die Intel oneAPI Toolkits notwendig sind. Kein Wunder also, dass dort die Programmierumgebung von Anfang an zum Einsatz kommt.

Disclaimer: Für das Verfassen und Veröffentlichen dieses Blogbeitrags hat mich die Firma Intel beauftragt. Bei der Ausgestaltung der Inhalte hatte ich nahezu freie Hand.

Schreibe einen Kommentar