| OPENMP API Specification: Version 5.1 November 2020
1.2.8 Tool Terminology
tool
Code that can observe and/or modify the execution of an application.
first-party tool
A tool that executes in the address space of the program that it is monitoring.
third-party tool
A tool that executes as a separate process from the process that it is monitoring and
potentially controlling.
activated tool
A first-party tool that successfully completed its initialization.
event
A point of interest in the execution of a thread.
native thread
A thread defined by an underlying thread implementation.
tool callback
A function that a tool provides to an OpenMP implementation to invoke when an associated
event occurs.
registering a callback
Providing a tool callback to an OpenMP implementation.
dispatching a callback at an event
Processing a callback when an associated event occurs in a
manner consistent with the return code provided when a first-party tool registered the callback.
thread state
An enumeration type that describes the current OpenMP activity of a thread. A thread can be in
only one state at any time.
wait identifier
A unique opaque handle associated with each data object (for example, a lock) that the
OpenMP runtime uses to enforce mutual exclusion and potentially to cause a thread to wait actively or
passively.
frame
A storage area on a thread’s stack associated with a procedure invocation. A frame includes space for
one or more saved registers and often also includes space for saved arguments, local variables, and padding
for alignment.
canonical frame address
An address associated with a procedure frame on a call stack that was the value of
the stack pointer immediately prior to calling the procedure for which the frame represents the invocation.
runtime entry point
A function interface provided by an OpenMP runtime for use by a tool. A runtime entry
point is typically not associated with a global function symbol.
trace record
A data structure in which to store information associated with an occurrence of an event.
native trace record
A trace record for an OpenMP device that is in a device-specific format.
signal
A software interrupt delivered to a thread.
signal handler
A function called asynchronously when a signal is delivered to a thread.
async signal safe
The guarantee that interruption by signal delivery will not interfere with a set
of operations. An async signal safe runtime entry point is safe to call from a signal handler.
code block
A contiguous region of memory that contains code of an OpenMP program to be executed on a
device.
OMPT
An interface that helps a first-party tool monitor the execution of an OpenMP program.
OMPT interface state
A state that indicates the permitted interactions between a first-party tool and the
OpenMP implementation.
OMPT active
An OMPT interface state in which the OpenMP implementation is prepared to accept runtime
calls from a first party tool and will dispatch any registered callbacks and in which a first-party tool can
invoke runtime entry points if not otherwise restricted.
OMPT pending
An OMPT interface state in which the OpenMP implementation can only call functions to
initialize a first party tool and in which a first-party tool cannot invoke runtime entry points.
OMPT inactive
An OMPT interface state in which the OpenMP implementation will not make any
callbacks and in which a first-party tool cannot invoke runtime entry points.
OMPD
An interface that helps a third-party tool inspect the OpenMP state of a program that has begun
execution.
OMPD library
A dynamically loadable library that implements the OMPD interface.
image file
An executable or shared library.
address space
A collection of logical, virtual, or physical memory address ranges that contain code, stack,
and/or data. Address ranges within an address space need not be contiguous. An address space consists of
one or more segments.
segment
A portion of an address space associated with a set of address ranges.
OpenMP architecture
The architecture on which an OpenMP region executes.
tool architecture
The architecture on which an OMPD tool executes.
OpenMP process
A collection of one or more threads and address spaces. A process may contain threads
and address spaces for multiple OpenMP architectures. At least one thread in an OpenMP process is an
OpenMP thread. A process may be live or a core file.
address space handle
A handle that refers to an address space within an OpenMP process.
thread handle
A handle that refers to an OpenMP thread.
parallel handle
A handle that refers to an OpenMP parallel region.
task handle
A handle that refers to an OpenMP task region.
descendent handle
An output handle that is returned from the OMPD library in a function that accepts an
input handle: the output handle is a descendent of the input handle.
ancestor handle
An input
handle that is passed to the
OMPD library in a function that returns an output
handle: the input
handle is an ancestor of the output
handle. For a given
handle, the ancestors of the
handle
are also the ancestors of the handle’s descendent.
COMMENT:
A
tool
cannot
use
a
handle
in
an
OMPD
call
if
any
ancestor
of
the
handle
has
been
released,
except
for
OMPD
calls
that
release
it.
tool context
An opaque reference provided by a tool to an OMPD library. A tool context uniquely identifies
an abstraction.
address space context
A tool context that refers to an address space within a process.
thread context
A tool context that refers to a native thread.
native thread identifier
An identifier for a native thread defined by a thread implementation.