| OPENMP API Specification: Version 5.0 November 2018
1.2.8 Tool Terminology
tool
Executable code, distinct from application or runtime 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) used by the
OpenMP runtime to enforce mutual exclusion that may 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 invocation is represented by the
frame.
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 it dispatches 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
handle
cannot
be
used
by
the
tool
in
an
OMPD
call
if
any
ancestor
of
the
handle
has
been
released,
except
for
OMPD
calls
that
release
the
handle.
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.