Software Sustainability and Performance Engineering
Software spielt in vielen Wissenschaftsdomänen eine zentrale Rolle. Dabei werden große Komponenten häufig über längere Zeiträume von einer Vielzahl von Entwicklern geschrieben. Oftmals werden diese Projekte auch nur für eine spezifische Rechenumgebung, beispielsweise ein bestimmtes HPC System oder lokale Rechenressourcen, entwickelt.
Mit steigender Anzahl von Entwickler und längerem Entwicklungszeitraum eines Projekts erhöht sich die Wahrscheinlichkeit, dass Fehler in die Codebasis eingefügt werden, da nicht bei jeder Änderung alle möglichen Konfigurationen manuell getestet und die Ergebnisse validiert werden können. Dadurch sinkt entweder die Qualität des Codes, oder es müssen erhebliche Personalaufwände für Integrationstests eingeplant werden, bevor eine neue Version veröffentlicht werden kann.
Außerdem erfordern Nutzungen in anderen Rechenumgebungen zusätzlichen Aufwand für Anpassungen und Validierungen der Software.
Dies trifft insbesondere bei der Portierung von Softwarebasen auf neue Hardwarearchitekturen zu.
Mit Continuous Integration, Testing und Benchmarking stehen Softwareentwicklern Methodiken und Werkzeuge zur Verfügung, um diese Aufgaben zu automatisieren und den nötigen Aufwand zu reduzieren.
Das Software Sustainability and Performance Engineering (SSPE) Team unterstützt wissenschaftliche Softwareentwickler bei der Auswahl der richtigen Werkzeuge, um wissenschaftliche Codes fit für die Zukunft zu machen, die zur Verfügung stehenden Rechenressourcen optimal auszunutzen und berät bei Portierung, Tests und Benchmarks auf neuen Architekturen, beispielsweise den Systemen der Future Technologies Partition des NHR Zentrums NHR@KIT.
Ansprechpartner: René Caspart
Name | Tel. | |
---|---|---|
Baer, Andreas | andreas baer ∂does-not-exist.kit edu | |
Dr. Caspart, René | +49 721 608-25631 | rene caspart ∂does-not-exist.kit edu |
Mesiti, Michele | +49 721 608-44869 | |
Dr. Obermaier, Holger | +49 721 608-29276 | holger obermaier ∂does-not-exist.kit edu |
2 weitere Personen sind nur innerhalb des KIT sichtbar. |
Test suite to facilitate continuous integration, benchmarking, and delivery (CI/CB/CD) in ICON-ART development
- Ansprechperson:
Martina Klose, Jennifer Buchmüller, René Caspart
ICON-ART, the ICOsahedral Nonhydrostatic model with Aerosols and Reactive Trace gases, is a numerical weather prediction and climate modeling system developed jointly by several research institutions. It is used for research and operational weather forecasting. The ART module provides (gas-phase) chemistry, aerosol dynamics and related feedback processes. This module was initiated by and undergoes continuous development at the Karlsruhe Institute of Technology (KIT).
The aim of the project TESSA (TESt Suite for ICON-ART) is to design and develop a test suite for ICON-ART that enables testing the model's source code at different levels, from single units of the code up to full end-to-end tests. For the ICON-ART community, the main benefit of this project is that it facilitates a more effective development process, eases the inclusion of new developments, and aids in workflow management. In addition, the project will help to guide towards ensuring a reproducibility of results and allow to assess performance implications during model development.
For NHR@KIT, this project serves as a example for efficiently utilizing the offered services and will provide valuable insights into the available services and into possibilities for extensions or improvements
OpenLB – An Open Source High Performance Lattice Boltzmann Code for Heterogeneous CPU-GPU Clusters
- Ansprechperson:
Adrian Kummerländer, Martin Frank, Mathias J. Krause, René Caspart
Lattice Boltzmann Methods (LBM) are an established mesoscopic approach for simulating a wide
variety of transport phenomena [2]. While they are uniquely suited to HPC applications, obtaining maximum
performance across different targets, collision models and boundary conditions is an active topic of research.
The principal goal of the project is to enable the utilization of arbitrary heterogenous target hardware
in the existing OpenLB software framework [1]. Specifically, we want to support execution on GPGPUs
and SIMD CPUs. Secondary goals include the further development of OpenLB’s architecture in order to
incorporate support for adaptive time and spatial refinement as a model-based performance optimization.
Improvements are also planned to continue the existing collaboration of LBRG and Prof. Dr. Frank with the
goal of using OpenLB as a general toolkit for solving PDEs. Furthermore, all of these goals are planned to
be approached in a sustainable fashion, ensuring the continued reproducibility and reliability of OpenLB
as one of the major open source LBM codes.
As a first significant step towards this, a new algorithm for implementing the LBM streaming step with
very good bandwidth-relative performance on both CPU and GPU targets was developed [3]. This Periodic
Shift (PS) pattern was produced by considering implicit propagation as a transformation of the memory
bijection. Virtual memory manipulation is used on both CPU and GPU targets to efficiently implement these
transformations.

[1] M. J. Krause, A. Kummerländer, S. J. Avis, H. Kusumaatmaja, D. Dapelo, F. Klemens, M. Gaedtke, N.
Hafen, A. Mink, R. Trunk, J. E. Marquardt, M.-L. Maier, M. Haussmann, and S. Simonis. “OpenLB—Open
source lattice Boltzmann code”. In: Computers & Mathematics with Applications 81 (Jan. 2021), pp. 258–
288. doi: 10.1016/j.camwa.2020.04.033.
[2] M. J. Krause, A. Kummerländer, and S. Simonis. Fluid Flow Simulation with Lattice Boltzmann Methods
on High Performance Computers. NASA AMS Seminar Series. 2020.
[3] A. Kummerländer, M. Dorn, M. Frank, and M. J. Krause. “Implicit Propagation of Directly Addressed
Grids in Lattice Boltzmann Methods”. In: 32nd Parallel Computational Fluid Dynamics Conference
(ParCFD21), Submitted to Computers & Fluids. 2021. doi: 10.13140/RG.2.2.35085.87523.