Lessons Learned from Implementing OMPD: A Debugging Interface for OpenMP
With complex codes moving to systems of increasing on-node parallelism using OpenMP, debugging these codes is becoming increasingly challenging. While debuggers can significantly aid programmers, existing ones support OpenMP at a low system-thread level, reducing their effectiveness. The previously published draft for a standard OpenMP debugging interface (OMPD) is supposed to enable the debuggers to raise their debugging abstraction to the conceptual levels of OpenMP by mediating the tools and OpenMP runtime library. In this paper, we present our experiences and the issues that we have found on implementing an OMPD library prototyp for a commonly used OpenMP runtime and a parallel debugger.
KeywordsRuntime System Error Code Parallel Region Target Memory Callback Function
- 1.Allinea Software: Allinea DDT. http://www.allinea.com/products/ddt. Accessed 16 May 2015
- 4.Eichenberger, A., et al.: OMPT and OMPD: OpenMP Tools Application Programming Interfaces for Performance Analysis and Debugging. Technical report, OpenMP.org, May 2013. http://openmp.org/mp-documents/ompt-tr.pdf. Accessed 15 May 2015
- 5.Eichenberger, A., et al.: OpenMP Technical Report 2 on the OMPT Interface. Technical report, OpenMP.org, March 2014. http://openmp.org/mp-documents/ompt-tr2.pdf. Accessed 15 May 2015
- 6.Rogue Wave Software: TotalView\(\textregistered \) Graphical Debugger (2015). http://www.roguewave.com/products/totalview.aspx. Accessed 16 May 2015
- 7.Inc., Sun Microsystems. man pages section 3: Threads and realtime library functions. User documentation, May 2002. https://docs.oracle.com/cd/E19683-01/816-0216/816-0216.pdf. Accessed 15 May 2015