Testing Infrastructure for OpenMP Debugging Interface Implementations
With complex codes moving to systems of greater on-node parallelism using OpenMP, debugging these codes is becoming increasingly challenging. While debuggers can significantly aid programmers, OpenMP support within existing debuggers is either largely ineffective or unsustainable. The OpenMP tools working group is working to specify a debugging interface for the OpenMP standard to be implemented by every OpenMP runtime implementation. To increase the acceptance of this interface by runtime implementers and to ensure the quality of these interface implementations, availability of a common testing infrastructure compatible with any runtime implementation is critical. In this paper, we present a promising software architecture for such a testing infrastructure.
KeywordsDebugging Interface Test Infrastructure OpenMP Runtime Runtime Implementation Dyninst
The authors would like to thank Lai Wei for the initial OMPD Stackwalker implementation for Dyninst. The authors would also like to thank Matthew LeGendre and Greg Lee for their insights and hints to interact with Dyninst.
Part of this work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under Contract DE-AC52-07NA27344. (LLNL-CONF-692845).
- 1.David A’s DWARF Page, May 2016. https://www.prevanders.net/dwarf.html
- 2.OMPD specification in github, May 2016. https://github.com/OpenMPToolsInterface/OMPD-Technical-Report
- 3.OpenSpeedShop, May 2016. https://openspeedshop.org/
- 4.Ahn, D.H., Brim, M.J., de Supinski, B.R., Gamblin, T. Lee, G.L., LeGendre, M.P., Miller, B.P., Moody, A., Schulz, M.: Efficient and scalable retrieval techniques for global file properties. In: 27th IEEE International Symposium on Parallel and Distributed Processing, IPDpPS, Cambridge, MA, USA, 20–24 May 2013, pp. 369–380 (2013)Google Scholar
- 6.Alexandre Eichenberger et al. OMPT and OMPD: OpenMP Tools Application Programming Interfaces for Performance Analysis and Debugging. Technical report, OpenMP.org, May 2013 (2016). http://openmp.org/mp-documents/ompt-tr.pdf
- 7.MPI Forum. MPI: A Message-Passing Interface Standard. Version 3.1, 4 June 2015, May 2016. http://www.mpi-forum.org
- 8.Protze, J., Laguna, I., Ahn, D.H., Signore, J.D., Burton, A., Schulz, M., Müller, M.S.: Lessons learned from implementing OMPD: a debugging interface for openMP. In: OpenMP: Heterogenous Execution and Data Movements- Proceedings of the 11th International Workshop on OpenMP, IWOMP 2015, Aachen, Germany, 1–2 October 2015, pp. 89–101 (2015)Google Scholar
- 9.Ravipati, G., Bernat, A.R., Rosenblum, N., Miller, B.P., Hollingsworth, J.K.: Toward the deconstruction of dyninst. Technical report, Computer Sciences Department, University of Wisconsin, Madison (2007). ftp://ftp.cs.wisc.edu/paradyn/papers/Ravipati07SymtabAPI.pdf
- 11.Inc. Sun Microsystems. man pages section 3: Threads and realtime library functions. User documentation, May 2002 (2016). https://docs.oracle.com/cd/E19683-01/816-0216/816-0216.pdf
- 12.ZIH. VampirTrace (May 2016). https://tu-dresden.de/zih/vampirtrace/