Download presentation
Presentation is loading. Please wait.
Published byGinger Goodman Modified over 6 years ago
1
Provide system/vendor neutral API Marty McFadden mcfadden8@llnl.gov
OMPD API Provide system/vendor neutral API Marty McFadden
2
OMPD – What is it? OMPD is an API to make OpenMP constructs available to 3rd party 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!
3
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
4
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.