HPC Tuning Plugins
Comiler Flags Selection Tuning with the CFS Plugin
Single core performance of HPC applications is strongly dependent on the application compiler. Compilers provide a large number of switches to control their optimization process. Selection of the best combination requires significant background knowledge. The CFS plugin automates the selection by exploring potential combinations. Advanced search strategies help to reduce the number of experiments, thus speeding up the search process.
MPI Tuning with the MPI Parameters Plugin
MPI libraries provide parameters to tune message passing in HPC applications. Application-specific parameter settings have proven to provide additional tuning potential beyond a tuned architecture-specific combination of parameters. The MPI Parameters plugin of PTF automatically explores different flag combinations for Intel MPI, IBM MPI, and OpenMPI. A special automatic eager threshold optimization as well as individual and genetic search allow to explore the search space efficiently.
Energy Tuning with the DVFS Plugin
Energy efficiency of HPC installations is important due to environmental pollution and energy costs. Beyond energy reduction through system-level means, such as hot water cooling used in SuperMUC at LRZ, application-specific techniques can be used. The DVFS plugin selects the best clock frequency for an application to reduce energy consumption. Different tuning objectives allow to consider energy as well as delay or costs in the tuning.
Tuning Master Worker Application with the Master Worker Plugin
Master Worker applications are quite common in HPC. This plugin allows tuning of applications with respect to the overall load balancing and the best number of workers. It applies tuning models to reduce the number of experiments. The plugin requires provisioning of high-level application information via a configuration file.
Tuning Pipeline Applications with the Parallel Pattern Plugin
Parallel patterns simplify the development of HPC applications. The European PEPPHER project developed a methodology combining high-level components with multiple implementations in such patterns. This plugin tunes pipeline applications executing on heterogeneous architectures combining traditional multicore processors with GPGPUs.