
OMPD API Marty McFadden Debugging Proposal
"OMPD API provides a system-neutral solution for OpenMP constructs, with a focus on enhancing debugging capabilities and aligning system thread IDs with OpenMP thread IDs through a new abstraction proposal. Input and feedback welcome!"
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
OMPD API Provide system/vendor neutral API Marty McFadden mcfadden8@llnl.gov
OMPD What is it? OMPD is an API to make OpenMP constructs available to 3rdparty tools (such as debuggers) Present threads organized into OMP concepts (tasks, teams, etc) Provide stack traces with runtime specifics filtered out API is being proposed for inclusion in the OpenMP specification OMP Runtimes would include support for an OMPD library providing the API We have a prototype and specification. OpenMP Tools subcommittee meets every two weeks. Input/Feedback welcome!
Challenges System Thread IDs Pthreads ID, etc. Cuda Thread ID (logical, and/or physical) Logical: Cuda Context, Grid ID [x, y, z], Block ID [x, y, z], Thread ID [x, y, z] Physical: Device, SM, Warp, Lane Debugger understands system ID mechanism, OMPD Library does not OMPD API needs means to map Debugger s notion of system thread IDs to OpenMP thread IDs
Proposal Create new debugging abstraction Sharable to both Debugger and OMPD Provides common view to system thread IDs OMPD API to use BLOB for thread IDs Contents & semantics defined by debugger abstraction initial contents & semantics defined in external document Keeps OMPD API system/vendor neutral