PARCOACH Extension for Hybrid Applications with Interprocedural Analysis

  • Emmanuelle SaillardEmail author
  • Hugo Brunie
  • Patrick Carribault
  • Denis Barthou
Conference paper


Supercomputers are rapidly evolving with now millions of processing units, posing the questions of their programmability. Despite the emergence of more widespread and functional programming models, developing correct and effective parallel applications still remains a complex task. Although debugging solutions have emerged to address this issue, they often come with restrictions. Furthermore, programming model evolutions stress the requirement for a validation tool able to handle hybrid applications. Indeed, as current scientific applications mainly rely on MPI (Message-Passing Interface), new hardwares designed with a larger node-level parallelism advocate for an MPI+X solution with X a shared-memory model like OpenMP. But integrating two different approaches inside the same application can be error-prone leading to complex bugs. In an MPI+X program, not only the correctness of MPI should be ensured but also its interactions with the multi-threaded model. For example, identical MPI collective operations cannot be performed by multiple non-synchronized threads. In this paper, we present an extension of the PARallel COntrol flow Anomaly CHecker (PARCOACH) to enable verification of hybrid HPC applications. Relying on a GCC plugin that combines static and dynamic analysis, the first pass statically verifies the thread level required by an MPI+OpenMP application and outlines execution paths leading to potential deadlocks. Based on this analysis, the code is selectively instrumented, displaying an error and interrupting all processes if the actual scheduling leads to a deadlock situation.


Control Flow Graph Call Graph Collective Operation Parallel Programming Model Hybrid Application 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Bull JM, Enright JP, Guo X, Maynard C, Reid F (2010) Performance evaluation of mixed-mode openmp/mpi implementations. Intl Jf Parallel Program 38(5–6): 396–417Google Scholar
  2. 2.
  3. 3.
    Hilbrich T, Müller MS, Krammer B (2008) Detection of violations to the MPI standard in Hybrid open MP/MPI applications. In: International conference on OpenMP in a new era of parallelism, Springer, Heidelberg, pp 26–35Google Scholar
  4. 4.
    Jaeger J, Saillard E, Carribault P, Barthou D (2015) Correctness analysis of MPI-3 Non-blocking communications in PARCOACH. In: Proceedings of the 22Nd European MPI Users’ group meeting, EuroMPI ’15, ACM, New York, pp 16:1–16:2Google Scholar
  5. 5.
    Jourdren H (2003) HERA: A hydrodynamic AMR Platform for multi-physics simulations. In: Plewa T, Linde T, Weirs VG (eds) Adaptive mesh refinement - theory and applications. Springer, Heidelberg, pp 283–294Google Scholar
  6. 6.
    Message Passing Interface Forum. MPI: A Message-Passing Interface Standard Version 3.1, June 2015.
  7. 7.
  8. 8.
    Saillard E, Carribault P, Barthou D (2013) Combining static and dynamic validation of mpi collective communications. In: Proceedings of the European MPI Users’ group meeting. EuroMPI’13, ACM, New York, pp 117–122Google Scholar
  9. 9.
    Saillard E, Carribault P, Barthou D (2014) PARCOACH: Combining static and dynamic validation of MPI collective communications. Int J High Perform Comput ApplGoogle Scholar
  10. 10.
    Saillard E, Carribault P, Barthou D (2015) MPI Thread-level checking for MPI+OpenMP applications. In: EuroParGoogle Scholar
  11. 11.
    Saillard E, Carribault P, Barthou D (2015) Static/dynamic validation of MPI collective communications in multi-threaded context. In: Proceedings of the 20th ACM SIGPLAN Symposium on principles and practice of parallel programming. PPoPP 2015, ACM, New York, pp 279–280Google Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Emmanuelle Saillard
    • 1
    Email author
  • Hugo Brunie
    • 1
  • Patrick Carribault
    • 1
  • Denis Barthou
    • 2
  1. 1.CEA, DAM, DIFArpajonFrance
  2. 2.Bordeaux Institute of Technology, LaBRI / INRIABordeauxFrance

Personalised recommendations