Automatic tuning of HPC applications
Autoři
Více o knize
High Performance Computing is of utmost importance for many application areas. Scientific research in many domains like weather prediction and climate simulations, genomics, or structure and aerodynamics simulations in automotive and aerospace industries, to name a few, are no longer possible without HPC. Programmers developing HPC applications strive for achieving the highest possible performance on highly parallel and often heterogeneous systems. These systems consist of hundreds of thousands of nodes with standard multicore processors and optional accelerators, such as GPGPUs and the Intel® Xeon Phi™ processor. Application tuning for such systems requires careful co-optimization of several highly interrelated aspects, such as single core performance, memory access, data locality, load balancing, inter-process communication and energy consumption. Performance analysis tools help the programmer to understand the current application performance and to identify areas providing potential for improvement. Periscope is such a performance analysis tool. It automatically determines performance bottlenecks in an online analysis. During the execution of the application, a set of analysis agents observe the performance and report bottlenecks. Periscope is highly scalable due to its distributed structure and its automatic analysis. A group of leading European research groups in HPC joined their efforts in the European FP7 project AutoTune for extending Periscope for automatic tuning of HPC applications and implemented the first tool covering the whole tuning process. The Periscope Tuning Framework (PTF) provides a number of aspect-specific tuning plugins that capture expert knowledge required for effective application tuning. PTF provides tuning plugins targeting interprocess communication based on MPI, OpenMP scalability, single core execution, and energy efficiency. PTF is extensible and provides a rich framework for the development of additional tuning plugins. Tuning plugins can access dynamic performance data and static application information in their tuning strategy. Multi-dimensional search spaces can be evaluated for single or multiple-objectives with state of the art search algorithms. The framework provides automatic experiment execution including the parallel evaluation of scenarios to speed up the tuning process. The Periscope Tuning Framework provides extensive documentation of the existing tuning plugins as well as of the overall infrastructure and an online tutorial is available facilitating the development of new tuning plugins. The Periscope Tuning Framework is open source and available for download at periscope. in. tum. de. This book covers the tuning model and the base infrastructure of the Periscope Tuning Framework. It introduces the existing tuning plugins covering the tuning aspect, the tuning strategy, and tuning results for each plugin. It serves as a starting point for people interested in using PTF for application tuning as well as for tool developers targeting the implementation of their own tuning plugins.