The Friedrich-Alexander University Erlangen-Nürnberg has a 30 year long history of providing HPC resources at RRZE as well as research of novel multiprocessor architectures at the computer science department. During the nineties the chair for fluid mechanics in Erlangen was a major user of HPC resources throughout Germany. The founding of the Computer Science Chair 10 System Simulation in the late nineties gave HPC related research a big boost. Since 2009 the Computer Science Professorship for High Performance Computing of Prof. Wellein who is also the director of the Erlangen National High Performance Computing Center (NHR@FAU) is doing HPC related research and also develops Open Source performance tools.
The current research focus at FAU is on:
- Performance engineering
- Performance modelling
- Tool development (Performance Tools and Performance Monitoring)
- Code generation techniques and Domain Specific Languages
- Development and optimization of high performance heterogeneous applications at extreme scale
- Hardware-Software Co-Design
- Optimized Algorithms for:
- Sparse Linear Solvers
- Lattice Boltzmann Methods
- Multigrid Solvers
- Stencil Solvers
Erlangen is unique in covering the whole range of hardware architectures from the embedded core to supercomputers. An overarching goal is to develop software that reaches the applicable design limits of systems through hardware aware implementations. Performance models are developed and used to determine and validate those applicable performance limits and also to pinpoint hardware bottlenecks that limit application performance. To setup accurate performance models requires correct machine-models, which are determined using in-depth analysis of the underlying processor architecture and in-detail micro-benchmarking on all system levels.
FAU researchers have developed high-performance heterogeneous applications using both host CPUs as well as accelerators at extreme scale that can fully utilize even the largest available supercomputers. This research builds the knowledge and expertise in what is required to utilize the current generation of heterogeneous supercomputers at full scale. With waLBerla, pe and TerraNeo there are three applications developed in Erlangen on the Jülich High-Q list of highly scalable codes.
Another focus is put on allowing also non-expert users to leverage the performance of current supercomputers by using high performance code generation techniques together with high-level domain specific languages (DSL) and adapted programming models. This also involves embedding DSLs in C++ through expression template meta-programming.This is a truly interdisciplinary effort cutting through all abstraction layers and requires diverse knowledge in the application domain, algorithms, programming language design, compiler technology as well as computer architecture, performance engineering and HPC specific programming models.
Finally teaching HPC methods is an important part in the FAU curriculum through the Computational Engineering program started in 1997 and other computational specialization topics offered by some engineering programs. The Erlangen National High Performance Computing Center (NHR@FAU) has a long running very popular series of Tutorials and workshops on Node-level Performance Engineering and (together with HLRS Stuttgart) on hybrid MPI+X programming.