Entwicklung von Programmiermodellen und Leistungstools für die Supercomputer von morgen
Die Architektur von HPC-Systemen, die zunehmend für Anwendungen in fast allen Branchen und Sektoren verwendet werden, ist in den letzten Jahren häufig verändert worden, um die Heterogenität der zukünftigen Exascale-Rechner anzugehen. Präzise, schnelle und skalierbare Leistungsmodelle und Simulationstools sind zur Beurteilung der verschiedenen Architekturen von Hardwarebeschleunigern wie Grafikprozessoren oder feldprogrammierbaren Gate-Arrays, heterogenen Speichersystemen (einschließlich nichtflüchtigen, persistenten Speichern) und Netzwerken unabdingbar. Das EU-finanzierte Projekt EPEEC (European joint Effort toward a Highly Productive Programming Environment for Heterogeneous Exascale Computing) dient der Lösung dieses Problems, indem „fünf von europäischen Forschungseinrichtungen und Unternehmen entwickelte Softwarekomponenten zusammengeführt worden sind, um sie an die jeweilige Programmierumgebung anzupassen und weiterzuentwickeln“, heißt es in einer Pressemitteilung. Der Schwerpunkt des EPEEC-Projekts liegt auf mehreren Softwareproblemen, die für das HPC entscheidend sind, wie der Ausführungseffizienz, der Skalierbarkeit, dem Energiebewusstsein, der Kombinierbarkeit/Interoperabilität und der Produktivität der Programmiererinnen und Programmierer. Dahinter steht die Idee, dass EPEEC eine automatisierte Generierung von Compiler-Anweisungen für Anwendungen bereitstellt, die mithilfe einer Reihe von Werkzeugen, welche die volle Leistungsfähigkeit der neuen Hardware nutzen, für eine hohe Codierungsproduktivität sorgt. Entwicklerinnen und Entwickler können ihre bevorzugte Programmiersprache (C, Fortran oder C++) und Beschleuniger-Programmiermodelle (OpenMP, OpenACC, CUDA oder OpenCL) nutzen. Außerdem können sie wählen, ob sie ein globales Shared Memory oder ein Distributed-Shared-Memory-Modell nutzen möchten. Neben der hohen Codierungsproduktivität ist das Erreichen einer hohen Leistungsfähigkeit ein weiteres Ziel von EPEEC. Dadurch soll eine Programmierumgebung mit allen notwendigen Funktionen sowie einem Technologiereifegrad (TRL) der Stufe 8 für aktuelle Vor-Exascale-Systeme und TRL 4 (Technologie im Labor überprüft) für Exascale-Plattformen geschaffen werden. Das Ziel des Energiebewusstseins von EPEEC umfasst die effiziente und energiebewusste Verwaltung der Hardwareheterogenität sowohl bei den Verarbeitungselementen als auch bei den Speichersubsystemen. Insgesamt zielt EPEEC darauf ab, die Anwendungssoftwareentwicklung für Systeme mit großen und sehr großen Datenmengen zu vereinfachen.
Anwendungen
In der Pressemitteilung wurde auch erklärt, dass fünf Anwendungen aus verschiedenen wissenschaftlichen Bereichen von EPEEC bedient werden: AVBP (Fluiddynamik und Verbrennung), DIOGENeS (Nanophotonik/Nanoplasmonik), OSIRIS (Plasmaphysik), Quantum ESPRESSO (Materialwissenschaften) und SMURFF (Biowissenschaften). „Da diese Anwendungen aus verschiedenen Bereichen stammen und rechen- und datenintensive Aufgaben sowie Extreme-Data-Aufgaben abdecken, sind sie ausgezeichnete Co-Design-Partner und werden als Vor-Exascale-Demonstrationsanwendungen eingesetzt.“ Auf der Projektwebsite ist zu lesen: „Bei AVBP handelt es sich um ein Lösungsmodell für 3D-Navier-Stokes-Gleichungen, die kompressible reaktive Mehrphasenströmungen auf unstrukturierten Mehrelementgittern beschreiben.“ Auf der Website heißt es weiter, dass AVBP für die Luftfahrforschung und -entwicklung in Europa und Kanada in öffentlich-rechtlichen Einrichtungen und im European Center for Research and Advanced Training in Scientific Computing, einem EPEEC-Industriepartner, zum Einsatz kommt. „DIOGENeS (DIscOntinuous GalErkin Nanoscale Solvers) ist ein Softwarepaket für die computergestützte Nanophotonik/Nanoplasmonik“, heißt es auf der Website weiter. OSIRIS umfasst die Simulation von „nichtlinearen und kinetischen Prozessen, die während hochintensiven Partikel- und Laser-Plasma-Interaktionen auftreten“, so die Projektwebsite. Quantum ESPRESSO ist ein integriertes Paket von quelloffenen Computercodes für Elektronenstrukturberechnungen und die Materialmodellierung im Nanobereich. Laut dieser Website ist „SMURFF (Scalable Matrix Factorization Framework) eine Hochleistungsimplementierung von verschiedenen Matrixfaktorisierungstechniken“. Die Matrixfaktorisierung ist eine gebräuchliche Methode des maschinellen Lernens, die für Empfehlungsdienste, wie Bücherempfehlungen bei Amazon und Filmempfehlungen bei Netflix, verwendet wird. Die Arbeit des EPEEC-Projekts wird für viele Bereiche, wie das Gesundheitswesen und die Entwicklung pharmazeutischer Wirkstoffe, die Klimamodellierung, Wettervorhersagen sowie die Energiebranche, nützlich sein. Weitere Informationen: EPEEC-Projektwebsite
Länder
Spanien