PARCOACH Extension for Hybrid Applications with Interprocedural Analysis
Emmanuelle Saillard (),
Hugo Brunie,
Patrick Carribault and
Denis Barthou
Additional contact information
Emmanuelle Saillard: CEA, DAM, DIF
Hugo Brunie: CEA, DAM, DIF
Patrick Carribault: CEA, DAM, DIF
Denis Barthou: Bordeaux Institute of Technology, LaBRI / INRIA
Chapter Chapter 11 in Tools for High Performance Computing 2015, 2016, pp 135-146 from Springer
Abstract:
Abstract 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.
Keywords: Control Flow Graph; Call Graph; Collective Operation; Parallel Programming Model; Hybrid Application (search for similar items in EconPapers)
Date: 2016
References: Add references at CitEc
Citations:
There are no downloads for this item, see the EconPapers FAQ for hints about obtaining it.
Related works:
This item may be available elsewhere in EconPapers: Search for items with the same title.
Export reference: BibTeX
RIS (EndNote, ProCite, RefMan)
HTML/Text
Persistent link: https://EconPapers.repec.org/RePEc:spr:sprchp:978-3-319-39589-0_11
Ordering information: This item can be ordered from
http://www.springer.com/9783319395890
DOI: 10.1007/978-3-319-39589-0_11
Access Statistics for this chapter
More chapters in Springer Books from Springer
Bibliographic data for series maintained by Sonal Shukla () and Springer Nature Abstracting and Indexing ().