[en] Building fast software in an HPC environment raises great challenges as software used for simulation and modelling is generally complex and has many dependencies. Current approaches involve manual tuning of compilation parameters in order to minimize the run time, based on a set of predefined defaults, but such an approach involves expert knowledge, is not scalable and can be very expensive in person-hours. In this paper we propose and develop a modular framework called POHPC that uses the Simulated Annealing meta-heuristic algorithm to automatically search for the optimal set of library options and compilation flags that can give the best execution time for a library-application pair on a selected hardware architecture. The framework can be used in modern HPC clusters using a variety of batch scheduling systems as execution backends for the optimization runs, and will discover optimal combinations as well as invalid sets of options and flags that result in failed builds or application crashes. We demonstrate the optimization of the FFTW library working in conjunction with the high- profile community codes GROMACS and QuantumESPRESSO, whereby the suitability of the technique is validated.
Research center :
ULHPC - University of Luxembourg: High Performance Computing
Disciplines :
Computer science
Author, co-author :
PLUGARU, Valentin ; University of Luxembourg > Faculty of Science, Technology and Communication (FSTC)
GEORGATOS, Fotis ; University of Luxembourg > Luxembourg Centre for Systems Biomedicine (LCSB)
VARRETTE, Sébastien ; University of Luxembourg > Faculty of Science, Technology and Communication (FSTC) > Computer Science and Communications Research Unit (CSC)
BOUVRY, Pascal ; University of Luxembourg > Faculty of Science, Technology and Communication (FSTC) > Computer Science and Communications Research Unit (CSC)
Language :
English
Title :
Performance tuning of applications for HPC systems employing Simulated Annealing optimization