1507 Performance Engineering and Software Infrastructure Maintenance of Computational Mechanics and Fluid Dynamic Codes

Dörte Carla Sternel, TU Darmstadt
Christian Iwainsky, TU Darmstadt
Christian Bischof, TU Darmstadt
The scientists who develop computational mechanics codes are typically domain experts, but not experts in computer science. As a result, existing code, as well as newly programmed applications, often offer opportunities for improvement in serial or parallel performance. As parallel computing architectures are ubiquitous today, the performance of these codes on parallel platforms is important both from a perspective of scientific competitiveness and usage efficiency of parallel computing systems, form multicore compute servers to HPC compute systems. In addition, research codes undergo frequent changes or additions, and are used on a wide variety of computing platforms, necessitating frameworks for software infrastructure maintenance to make the code maintenance task manageable.
As the typical lifespan of the software infrastructure usually is four times longer than the operational period of any given HPC system, it is crucial to invest time and effort in the maintenance of the software infrastructure. Such a performance engineering needs to address code restructuring and refactoring for performance, but with an eye on this being a recurring process throughout the software life span. In addition, methodical changes in the code or functional additions to an existing code base need to be integrated, tested, and documented, again in a continuous fashion.
This mini symposium focusses on performance engineering and software infrastructure maintenance for research codes, in particular in the field of computational mechanics. We aim to bring together code developers from the computational mechanic fields with HPC-experts.
Talks submitted should cover at least one of the following topics:
- Results and challenges resulting from the application of performance analysis tools to computational mechanic codes
- Best practices and success stories of serial or parallel performance improvement, with a description of the code or method changes
- Experiences with frameworks for software infrastructure maintenance, particularly open source software