HOME
| 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.