Characterization of 2D advection solver on Intel architectures and introduction of the “dynamic roofline” model
Résumé
During recent years computer processors have become increasingly complex (multiple levels of cache, vectorization, etc), meaning that the study of performance and optimization are also becoming more complex and difficult to understand. So a simple and easy-to-use model for studying the performance of applications would be of great value. The roofline model (S.Williams 2009) promises to meet these criteria.
In the first part of our presentation we will describe the development of tools showing how to plot the “roofline” for different architectures, and introduce a new methodology, called “dynamic roofline”, for calculation of the number of flops per byte as a function of time, in order to identify parts of a code that contain many calculations and others that have a high load, and data transfer to and from the DRAM.
In the second part of this work we will describe the characterization and optimization of a mini-application : a 2d advection equation solver based on a 2nd order scheme in time and space. This standard elementary solver is taken as a prototype (mini application) in order to evaluate the cost of the advection terms in a general hydro-code. The main objective of this work is to evaluate the performance of a fully hybrid implementation using MPI and OpenMP on recent and future Intel CPU (sandy bridge, ivy bridge, haswell, broadwell ) and Xeon Phi processor systems (KNL)