DescriptionWhat makes HPC actually high-performing? Besides the (typically mentioned) large-scale computational problems and the resulting involvement of large-scale computing infrastructure, it is probably the pursuit of efficiency at all levels, in order to obtain the high performance desired. Here, both performance and efficiency can have completely different meanings: the classical complexity-driven one (O(N log N) being worse than O(N)); the node-level one (80% of the peak performance being considered as fabulous); the parallel / scalability one (going for a good exploitation of massively parallel systems); the energy-aware one (looking for "cool" algorithms to avoid the need for power stations); the communication-avoiding one (taking into account the relatively increasing communication cost – some say "Flops are free"); or an emphasis on time-to-solution (focusing on "when do I have the result?" – typically the crucial issue for those who want to get their problems solved, i.e. computed). While many of these points of view are rather mono-dimensional (e.g., 80% of the peak performance, definitely, is a nice technical result, but it just tells me that I use my weapon well – not at all whether I use the right weapon), the problem is multi-faceted, and it involves modeling, algorithmics, implementation, and other software issues. The resulting complexity implies that education has to be considered in a very fundamental way, too.
The talk will start with a brief general discussion of performance and efficiency in the HPC context, then have a look at ongoing activities on software for exascale computing (with a focus on DFG's respective Priority Program SPPEXA including its multi-national dimension) as well as HPC education, and conclude with a few examples from our own research.