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