DyRM: A Dynamic Roofline Model Based on Runtime Information

Modern systems present complex memory hierarchies and heterogeneity among cores and processors. As a consequence, efficient programming is challenging. An easy-to-understand performance model, offering guidelines and information about the behaviour of a code, may be useful to alleviate these issue. In this paper, we present a new model, the Dynamic Roofline Model, an extension of the well known Berkeley Roofline Model. The aim is to take into consideration the complexities of multicore and heterogeneous systems, to understand their influence in the performance of a code when it is executed in a particular system. A set of tools to obtain and represent the model have been implemented. Different views are displayed by the tool that can be used to extract the main features of the code. Results of studying the NAS Parallel Benchmarks for OpenMP with these tools using the Dynamic Roofline Model are presented