Current High Performance Computing (HPC) systems consist of compute nodes that can communicate via an interconnect. Each compute node features mul-tiple compute cores that can access shared-memory. The Message Passing Interface (MPI) is the de-facto standard for the programming of distributed memory applica-tions. At the same time, OpenMP is a well-suited parallel programming paradigm to utilize the parallel cores within a compute node. Thus, current HPC systems encour-age a hybrid programming approach that combines MPI with OpenMP. However, using both programming paradigms at the same time can lead to more error-prone applications. The runtime correctness checking tool MUST supports programmers in the detection and removal of MPI-specific programming defects. We present an extension of MUST towards the analysis of OpenMP-MPI parallel applications in order to support programmers that combine both paradigms. This includes thread-safety concerns in MUST itself, an extended event model based on the upcoming OpenMP Tools Interface (OMPT), as well as a prototypical error analysis with a synthetic example. We further discuss classes of defects that are specific to OpenMP applications and highlight techniques for their detection.
CITATION STYLE
Cramer, T., Münchhalfen, F., Terboven, C., Hilbrich, T., & Müller, M. S. (2016). Extending MUST to Check Hybrid-Parallel Programs for Correctness Using the OpenMP Tools Interface. In Tools for High Performance Computing 2015 (pp. 85–101). Springer International Publishing. https://doi.org/10.1007/978-3-319-39589-0_7
Mendeley helps you to discover research relevant for your work.