Using MPI Communication Patterns to Guide Source Code Transformations

  • Authors:
  • Robert Preissl;Martin Schulz;Dieter Kranzlmüller;Bronis R. Supinski;Daniel J. Quinlan

  • Affiliations:
  • CASC, Lawrence Livermore National Laboratory, USA and GUP, Johannes Kepler University Linz, Austria/Europe;CASC, Lawrence Livermore National Laboratory, USA;GUP, Johannes Kepler University Linz, Austria/Europe;CASC, Lawrence Livermore National Laboratory, USA;CASC, Lawrence Livermore National Laboratory, USA

  • Venue:
  • ICCS '08 Proceedings of the 8th international conference on Computational Science, Part III
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Optimizing the performance of HPC software requires a high-level understanding of communication patterns as well as their relation to source code structures. We describe an algorithm to detect communication patterns in parallel traces and show how these patterns can guide static code analysis. First, we detect patterns that identify potential bottlenecks in MPI communication traces. Next, we associate the patterns with the corresponding nodes in an abstract syntaxtree using the ROSE compiler framework. Finally we perform static analysis on the annotated control flow and system dependence graphs to guide transformations such as code motion or the automatic introduction of MPI collectives.