Performance and Efficiency in HPC with Custom Computing
Final Report Abstract
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.
Publications
-
„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
-
„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
-
„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.
-
„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
-
„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
-
„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.