For the OMPD library to provide information about the internal state of the OpenMP runtime system in an OpenMP process or core file, it must have a means to extract information from the OpenMP process that the third-party tool is examining. The OpenMP process on which the third-party tool is operating may be either a “live” process or a core file, and a thread may be either a “live” thread in an OpenMP process or a thread in a core file. To enable the OMPD library to extract state information from an OpenMP process or core file, the third-party tool must supply the OMPD library with callback functions to inquire about the size of primitive types in the device of the OpenMP process, to look up the addresses of symbols, and to read and to write memory in the device. The OMPD library uses these callbacks to implement its interface operations. The OMPD library only invokes the callback functions in direct response to calls made by the third-party tool to the OMPD library.
Description of Return Codes
All of the OMPD callback functions must return the following return codes or function-specific return codes: