Towards Automatic Compiler-assisted Performance and Energy Modeling for Message Passing Parallel Programs

Philipp Gschwandtner, Alexander M. Hirsch, Shajulin Benedict, Thomas Fahringer · 2018

Optimizing programs for modern distributed memory parallel architectures is a notoriously difficult task that generated the need for modeling tools that can estimate the execution time and energy consumption for message passing programs. Many prediction tools require substantial manual effort, excessive training for every given architecture or limit the class of input programs that can be handled. We present a compiler-based approach that automatically generates parametrized analytical models. While requiring only a minimum training overhead on target architectures it still provides reasonably accurate models for execution time and energy consumption of message passing programs. Our method uses compiler analyses to identify the structure of code regions of input programs, and extracts important parameters such as loop iteration counts or message buffer sizes. We can then predict the performance of these code regions for new problem sizes and target machines. We show that compiler knowledge can be effectively used to minimize training overhead and evaluate our approach on multiple target applications with varying problem and machine sizes. Initial results obtained with our prototype implementation show a mean coefficient of determination (R(exp)2) of 0:93 over 7 input programs.

Read the paper · More papers on PaperTik