Software Sustainability and Performance Engineering (SSPE)

Most representative community codes and software infrastructures consist of large components developed over long periods of time by many different developers. Many of these codes focus on a single type of computing resource, such as large clusters with standard CPUs and a very fast interconnection network.

As the number of developers increases and a project takes longer to develop, the likelihood that bugs will be introduced into the code base increases because it is not possible to manually test all possible configurations and validate the results for each change. This either decreases the quality of the code, or requires significant manpower to be scheduled for integration testing before a new version can be released.

This also affects the ability to port to new software and hardware environments. The great potential offered by new, high-performance software libraries and innovative and disruptive hardware architectures remains untapped because porting large, organically grown codes while ensuring efficiency, correctness, accuracy and stability in all combinations and on all architectures is extremely costly.

However, especially in the scientific environment, there are also many smaller and highly innovative software projects that are maintained by a very small number of developers over a relatively short period of time and are not handed over to subsequent researchers or the community afterwards. In most cases, this is the result of a dissertation or a limited research project. Lack of documentation, a code base that has grown rapidly in a short period of time, and lack of testing and validation make it difficult to hand over to other developers and adapt to new research topics.

The SSPE team supports scientific software developers in selecting the right tools to make scientific codes fit for the future, to make optimal use of the available computing resources and advises on porting, testing and benchmarking on new architectures, for example the Future Technologies Partition systems.