PerficienCC: Performance and Efficiency in HPC with Custom Computing
Überblick
Zahlreiche Projekte haben gezeigt, dass Beschleuniger wie Field-Programmable Gate-Arrays (FPGAs), Many-cores und Grafikprozessoren (GPUs) wesentliche Laufzeit- und Energie-Effizienz-Vorteile im Hochleistungsrechnen erzielen können. Dennoch werden Beschleuniger noch nicht durchgängig eingesetzt, selbst für Anwendungen, die mit hoher Wahrscheinlichkeit profitieren können. Es gibt zahlreiche Gründe für die Zurückhaltung der HPC Entwickler, z.B: Mangel an technischem Wissen, unklarer Nutzen der investierten Zeit für die Optimierung, fehlende Abschätzung des Optimierungspotentials, mangelhafte Ausbildungsmaterialien, wenige Bibliotheken für eine Blackbox-Nutzung von Beschleunigern.Wir schlagen vor, einen strukturierten Unterstützungs- und Beratungsprozess in unserem Rechenzentrum zu etablieren, um HPC Entwickler während des kompletten Prozesses von der Performance-Analyse und Abschätzung des Potentials bis zur Optimierung der laufzeitkritischen Programmteile mit Beschleunigern zu unterstützen. Dieser Prozess bringt in Teams von Entwicklern aus den rechnergestützten Wissenschaften komplementäre Expertise ein und verbessert so das Kosten/Nutzenverhältnis einer Code-Optimierung, welche den Anwendern eine Reduktion der Programmlaufzeit oder die Möglichkeit grössere Systeme zu simulieren verspricht. Damit Entwickler von Resultaten früherer Arbeiten profitieren können, werden wir häufig genutzte Funktionen in wiederverwendbare Bibliotheken überführen. Schliesslich werden wir Schulungsunterlagen entwickeln, die auf die Bedürfnisse der rechnergestützten Wissenschaften zugeschnitten sind, und Code-Beispiele zur Illustration von Best-Practices sammeln.In diesem Projekt werden wir die spezifischen technologischen und forschungsbezogenen Kompetenzen unseres HPC Rechenzentrums und unserer Nutzer ausspielen. Einerseits profitieren wir von der thematischen Fokussierung unserer Hauptanwender auf eine kleine Zahl von Gebieten (Nanophotonik, Molekulardynamik, Quantenchemie). Dies erlaubt uns, domänenspezifische Methoden und Erfahrungen für unterschiedliche Codes wiederzuverwenden. Andererseits werden wir uns auf FPGAs als Beschleunigertechnologie konzentrieren, da FPGAs das höchste Potential in Bezug auf Energieffizienz bieten und sich der Markt für FPGA Beschleunigung gerade sehr dynamisch entwickelt. Die Bestrebungen zur Standardisierung im Rahmen der Übernahme von Altera durch Intel und die Einführung der CAPI Beschleuniger-Schnittstelle durch IBM, sowie die Verfügbarkeit von Hochsprachen-Entwicklungswerkzeugen für FPGAs, bilden eine neue technologische Basis für die breitere Nutzung von FPGAs in HPC. Wir erwarten, dass unsere substantielle Expertise im Custom Computing mit FPGAs, sowie die Konzentration auf wenige Anwendungsdomänen ideale Voraussetzungen bieten, um einen wesentlichen Fortschritt im Bereich HPC mit FPGA-Beschleunigern zu erzielen und das Potenzial zur Verbesserung der Performanz und Energieeffizienz mit realen HPC Codes zu demonstrieren.
DFG-Verfahren Sachbeihilfen
Key Facts
- Grant Number:
- PL 595/2-1 / 320898746
- Art des Projektes:
- Forschung
- Laufzeit:
- 01/2016 - 05/2020
- Beitrag zur Nachhaltigkeit:
- Industrie, Innovation und Infrastruktur, Nachhaltiger Konsum und nachhaltige Produktion
- Gefördert durch:
- DFG
Detailinformationen
Ergebnisse
Angesichts des weiterhin steigenden Rechenzeitbedarfs der rechnergestützten Wissenschaften sind nachhaltige Verbesserungen von bestehenden und weiterentwickelten Simulationscodes in Hinblick auf Leistungsfähigkeit und Energieeffizienz notwendig. Innovative Beschleunigerarchitekturen wie FPGAs können dazu ebenso wie neue Methoden einen wichtigen Beitrag leisten, waren aber für Anwender bisher schwer zugänglich. Durch enge Zusammenarbeit zwischen Codeentwicklern aus den rechnergestützten Wissenschaften und HPC-Experten mit Fokus auf Beschleunigerarchitekturen konnte das Projekt diese Lücke in mehreren Bereichen schließen. Auf Anwendungsseite wurden dabei zwei wichtige Simulationsmethoden verbessert, die auch große Anteile am Rechenzeitaufkommen der HPC-Systeme am Paderborn Center for Parallel Computing (PC2) haben: Zum einen der Bereich Ab-initio Molekulardynamik (AIMD) mit dem Open Source Code CP2K und zum anderen die Lösung der Maxwell Gleichungen im Zeitbereich für Anwendungen aus dem Gebiet der Nanophotonik. Für die Simulationen basierend auf Maxwells Gleichungen wurde ein besonderer Fokus auf die energieeffiziente Ausführung mit FPGAs gelegt. Für die Stencil-basierte Finite-difference Time-domain (FDTD) Methode wurde dabei gezeigt, dass FPGAs verschiedener Hersteller, Intel und Xilinx, mit einer gemeinsamen Codebasis genutzt werden können. Für ein Discontinuous Galerkin (DG) Verfahren auf unstrukturierten Gittern wurde anschließend die wohl erste FPGA-Implementierung überhaupt demonstriert und zeigte Performance- und Effizienzgewinne gegenüber der CPU Referenz. Die guten Ergebnisse für eine Methode, bei der es mit konventionellen Architekturen schwierig ist Performancepotenziale auszuschöpfen, bilden die Grundlage für weitere Forschung an Abstraktionen und der Übertragung auf weitere Anwendungsbereiche bei denen partielle Differentialgleichungen mit der Finite-Elemente Methode gelöst werden. Für AIMD mit Elektronenstrukturberechnungen in CP2K wurden große Fortschritte an Performance und Effizienz über mehreren Abstraktionsebenen erzielt, die im Zusammenspiel ganz neue Größenordnungen von simulierten Problemen ermöglichen. Der methodische Kern der Arbeiten ist eine neue, als Submatrix-Methode benannte Approximationsmethode für Matrixoperationen auf dünnbesetzten Matrizen, die den größten Rechenzeitanteil für AIMD Simulation mit CP2K benötigen. Die durch die Approximation eingeführten numerischen Fehler, lassen sich auf innovative Weise kompensieren. Weitere Effizienzgewinne konnten durch die Auslagerung von lokalen Matrixoperationen auf FPGAs erzielt werden. Diese Innovationen lieferten wesentliche Grundlagen für eine jüngst veröffentliche Rekordsimulation von bis zu 100 Millionen Atomen mit elektronenstrukturbasierter AIMD, bei der mit dem gleichen Ansatz Berechnungen mit reduzierter Genauigkeit auf GPU Tensor Cores ausgelagert wurden. Der in PerficienCC entwickelte Code wurde bereits zum großen Teil wieder in den öffentlichen CP2K Code integriert. Weitere Software-Veröffentlichungen unterstützen die Nachhaltigkeit der erzielten Ergebnisse. Als FPGA-Bibliotheken wurden insbesondere Komponenten wie Matrix Multiplikationen und 3D FFTs extrahiert, die zunächst zur Beschleunigung von CP2K entwickelt wurden, aber breitere Anwendbarkeit haben. Dazu kommen Tutorien zur Anwendungsbeschleunigung auf FPGAs mit Herstellerwerkzeugen zur Hochsprachen-Synthese, die am Standort Paderborn sowie auf internationalen Konferenzen durchgeführt wurden. Die Projektergebnisse tragen wesentlich zur strategischen Entwicklung des PC2 zu einem Kompetenzzentrum für FPGA-Beschleunigung von wissenschaftlichen Simulation und als Rechenzentrum im NHR Verbund bei, die sowohl in der internationale Fachpresse als auch in regionalen Medien Anklang findet. „Flexible FPGA design for FDTD using OpenCL“. In: Proc. Int. Conf. on Field Programmable Logic and Applications (FPL). IEEE, 2017, S. 1–7. ISBN: 978-9-0903-0428-1 T. Kenter, J. Förstner und C. Plessl (Siehe online unter https://doi.org/10.23919/FPL.2017.8056844) „A Massively Parallel Algorithm for the Approximate Calculation of Inverse P-Th Roots of Large Sparse Matrices“. In: Proc. Platform for Advanced Scientific Computing Conf. (PASC). PASC ’18. Basel, Switzerland: Association for Computing Machinery, 2018. ISBN: 9781450358910 M. Lass, S. Mohr, H. Wiebeler, T. D. Kühne und C. Plessl (Siehe online unter https://doi.org/10.1145/3218176.3218231) „OpenCL-based FPGA Design to Accelerate the Nodal Discontinuous Galerkin Method for Unstructured Meshes“. In: Proc. IEEE Symp. on Field-Programmable Custom Computing Machines (FCCM). IEEE, 2018 T. Kenter, G. Mahale, S. Alhaddad, Y. Grynko, C. Schmitt, A. Afzal, F. Hannig, J. Förstner u. a. (Siehe online unter https://doi.org/10.1109/FCCM.2018.00037) „OpenCL Implementation of Cannon’s Matrix Multiplication Algorithm on Intel Stratix 10 FPGAs“. In: 2019 International Conference on Field- Programmable Technology (ICFPT). Dez. 2019, S. 99–107 P. Gorlani, T. Kenter und C. Plessl (Siehe online unter https://doi.org/10.1109/ICFPT47387.2019.00020) „A Submatrix-Based Method for Approximate Matrix Function Evaluation in the Quantum Chemistry Code CP2K“. In: Proc. Int. Conf. on High Performance Computing, Networking, Storage and Analysis (SC). SC ’20. Atlanta, Georgia: IEEE Press, 2020. ISBN: 9781728199986 M. Lass, R. Schade, T. D. Kühne und C. Plessl (Siehe online unter https://doi.org/10.1109/SC41405.2020.00084) „CP2K: An electronic structure and molecular dynamics software package - Quickstep: Efficient and accurate electronic structure calculations“. In: The Journal of Chemical Physics 152.19194103 (2020) T. Kühne, M. Iannuzzi, M. D. Ben, V. V. Rybkin, P. Seewald, F. Stein, T. Laino, R. Z. Khaliullin u. a. (Siehe online unter https://doi.org/10.1063/5.0007045)Projektbezogene Publikationen (Auswahl)