Advertisement

Testing Infrastructure for OpenMP Debugging Interface Implementations

  • Joachim Protze
  • Dong H. Ahn
  • Ignacio LagunaEmail author
  • Martin Schulz
  • Matthias S. Müller
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9903)

Abstract

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.

Notes

Acknowledgments

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

References

  1. 1.
    David A’s DWARF Page, May 2016. https://www.prevanders.net/dwarf.html
  2. 2.
    OMPD specification in github, May 2016. https://github.com/OpenMPToolsInterface/OMPD-Technical-Report
  3. 3.
    OpenSpeedShop, May 2016. https://openspeedshop.org/
  4. 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
  5. 5.
    Cownie, J., Gropp, W.D.: A standard interface for debugger access to message queue information in MPI. In: Margalef, T., Dongarra, J., Luque, E. (eds.) PVM/MPI 1999. LNCS, vol. 1697, pp. 51–58. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 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. 7.
    MPI Forum. MPI: A Message-Passing Interface Standard. Version 3.1, 4 June 2015, May 2016. http://www.mpi-forum.org
  8. 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. 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
  10. 10.
    Shende, S.S., Malony, A.D.: The TAU parallel performance system. Int. J. High Perform. Comput. Appl. 20(2), 287–311 (2006)CrossRefGoogle Scholar
  11. 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. 12.
    ZIH. VampirTrace (May 2016). https://tu-dresden.de/zih/vampirtrace/

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Joachim Protze
    • 1
    • 2
  • Dong H. Ahn
    • 3
  • Ignacio Laguna
    • 3
    Email author
  • Martin Schulz
    • 3
  • Matthias S. Müller
    • 1
    • 2
  1. 1.RWTH Aachen UniversityAachenGermany
  2. 2.JARA–High-Performance ComputingAachenGermany
  3. 3.Lawrence Livermore National LaboratoryLivermoreUSA

Personalised recommendations