EconPapers    
Economics at your fingertips  
 

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 ().

 
Page updated 2026-08-12
Handle: RePEc:spr:sprchp:978-3-319-39589-0_11