HOME
| OPENMP API Specification: "Version 5.2 -- GIT rev 95b2e3a44"

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.