Abstract
Scientific applications mainly rely on the MPI parallel programming model to reach high performance on supercomputers. The advent of manycore architectures (larger number of cores and lower amount of memory per core) leads to mix MPI with a thread-based model like OpenMP. But integrating two different programming models inside the same application can be tricky and generate complex bugs. Thus, the correctness of hybrid programs requires a special care regarding MPI calls location. For example, identical MPI collective operations cannot be performed by multiple non-synchronized threads. To tackle this issue, this paper proposes a static analysis and a reduced dynamic instrumentation to detect bugs related to misuse of MPI collective operations inside or outside threaded regions. This work extends PARCOACH designed for MPI-only applications and keeps the compatibility with these algorithms. We validated our method on multiple hybrid benchmarks and applications with a low overhead.
- T. Hilbrich, M. S. Müller, and B. Krammer. Detection of violations to the MPI standard in hybrid OpenMP/MPI applications. In Intl. Conf. on OpenMP in a New Era of Parallelism, pages 26–35, 2008. Google Scholar
Digital Library
- T. Hilbrich, B. R. de Supinski, F. Hänsel, M. S. Müller, M. Schulz, and W. E. Nagel. Runtime MPI collective checking with tree-based overlay networks. In European MPI Users’ Group Meeting, pages 129–134, 2013. Google Scholar
Digital Library
- H. Jourden. HERA: A hydrodynamic AMR Platform for Multi-Physics Simulations. In T. Plewa, T. Linde, and V. G. Weirs, editors, Adaptive Mesh Refinement - Theory and Applications, pages 283–294, 2003.Google Scholar
- E. Saillard, P. Carribault, and D. Barthou. PARCOACH:combining static and dynamic validation of mpi collective communications. Intl. Journal on High Performance Computing Applications (IJHPCA), 2014. Google Scholar
Digital Library
Index Terms
Static/Dynamic validation of MPI collective communications in multi-threaded context
Recommendations
Static/Dynamic validation of MPI collective communications in multi-threaded context
PPoPP 2015: Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingScientific applications mainly rely on the MPI parallel programming model to reach high performance on supercomputers. The advent of manycore architectures (larger number of cores and lower amount of memory per core) leads to mix MPI with a thread-...
How I learned to stop worrying about user-visible endpoints and love MPI
ICS '20: Proceedings of the 34th ACM International Conference on SupercomputingMPI+threads is gaining prominence as an alternative to the traditional "MPI everywhere" model in order to better handle the disproportionate increase in the number of cores compared with other on-node resources. However, the communication performance of ...
Collective operations in NEC's high-performance MPI libraries
IPDPS'06: Proceedings of the 20th international conference on Parallel and distributed processingWe give an overview of the algorithms and implementations in the high-performance MPI libraries MPI/SX and MPI/ES of some of the most important collective operations of MPI (the Message Passing Interface). The infrastructure of MPI/SX makes it easy to ...






Comments