HOME
| OPENMP API Specification: Version 5.1 November 2020

4.4.4  Miscellaneous Type Definitions

This section describes miscellaneous types and enumerations used by the tool interface.

4.4.4.1 ompt_callback_t

Summary Pointers to tool callback functions with different type signatures are passed to the ompt_set_callback runtime entry point and returned by the ompt_get_callback runtime entry point. For convenience, these runtime entry points expect all type signatures to be cast to a dummy type ompt_callback_t.

Format

SVG-Viewer needed.

 

 
typedef void (*ompt_callback_t) (void);  

SVG-Viewer needed.

4.4.4.2 ompt_set_result_t

Summary The ompt_set_result_t enumeration type corresponds to values that the ompt_set_callback, ompt_set_trace_ompt and ompt_set_trace_native runtime entry points return.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_set_result_t { 
  ompt_set_error            = 0, 
  ompt_set_never            = 1, 
  ompt_set_impossible       = 2, 
  ompt_set_sometimes        = 3, 
  ompt_set_sometimes_paired = 4, 
  ompt_set_always           = 5 
} ompt_set_result_t;  

SVG-Viewer needed.

Description Values of ompt_set_result_t, may indicate several possible outcomes. The omp_set_error value indicates that the associated call failed. Otherwise, the value indicates when an event may occur and, when appropriate, dispatching a callback event leads to the invocation of the callback. The ompt_set_never value indicates that the event will never occur or that the callback will never be invoked at runtime. The ompt_set_impossible value indicates that the event may occur but that tracing of it is not possible. The ompt_set_sometimes value indicates that the event may occur and, for an implementation-defined subset of associated event occurrences, will be traced or the callback will be invoked at runtime. The ompt_set_sometimes_paired value indicates the same result as ompt_set_sometimes and, in addition, that a callback with an endpoint value of ompt_scope_begin will be invoked if and only if the same callback with an endpoint value of ompt_scope_end will also be invoked sometime in the future. The ompt_set_always value indicates that, whenever an associated event occurs, it will be traced or the callback will be invoked.

Cross References

4.4.4.3 ompt_id_t

Summary The ompt_id_t type is used to provide various identifiers to tools.

Format

SVG-Viewer needed.

 

 
typedef uint64_t ompt_id_t;  

SVG-Viewer needed.

Description When tracing asynchronous activity on devices, identifiers enable tools to correlate target regions and operations that the host initiates with associated activities on a target device. In addition, OMPT provides identifiers to refer to parallel regions and tasks that execute on a device. These various identifiers are of type ompt_id_t.

ompt_id_none is defined as an instance of type ompt_id_t with the value 0.

Restrictions Restrictions to the ompt_id_t type are as follows:

4.4.4.4 ompt_data_t

Summary The ompt_data_t type represents data associated with threads and with parallel and task regions.

Format

SVG-Viewer needed.

 

 
typedef union ompt_data_t { 
  uint64_t value; 
  void *ptr; 
} ompt_data_t;  

SVG-Viewer needed.

Description The ompt_data_t type represents data that is reserved for tool use and that is related to a thread or to a parallel or task region. When an OpenMP implementation creates a thread or an instance of a parallel, teams, task, or target region, it initializes the associated ompt_data_t object with the value ompt_data_none, which is an instance of the type with the data and pointer fields equal to 0.

4.4.4.5 ompt_device_t

Summary The ompt_device_t opaque object type represents a device.

Format

SVG-Viewer needed.

 

 
typedef void ompt_device_t;  

SVG-Viewer needed.

4.4.4.6 ompt_device_time_t

Summary The ompt_device_time_t type represents raw device time values.

Format

SVG-Viewer needed.

 

 
typedef uint64_t ompt_device_time_t;  

SVG-Viewer needed.

Description The ompt_device_time_t opaque object type represents raw device time values. ompt_time_none refers to an unknown or unspecified time and is defined as an instance of type ompt_device_time_t with the value 0.

4.4.4.7 ompt_buffer_t

Summary The ompt_buffer_t opaque object type is a handle for a target buffer.

Format

SVG-Viewer needed.

 

 
typedef void ompt_buffer_t;  

SVG-Viewer needed.

4.4.4.8 ompt_buffer_cursor_t

Summary The ompt_buffer_cursor_t opaque type is a handle for a position in a target buffer.

Format

SVG-Viewer needed.

 

 
typedef uint64_t ompt_buffer_cursor_t;  

SVG-Viewer needed.

4.4.4.9 ompt_dependence_t

Summary The ompt_dependence_t type represents a task dependence.

Format

SVG-Viewer needed.

 

 
typedef struct ompt_dependence_t { 
  ompt_data_t variable; 
  ompt_dependence_type_t dependence_type; 
} ompt_dependence_t;  

SVG-Viewer needed.

Description The ompt_dependence_t type is a structure that holds information about a depend clause. For task dependences, the variable field points to the storage location of the dependence. For doacross dependences, the variable field contains the value of a vector element that describes the dependence. The dependence_type field indicates the type of the dependence.

Cross References

4.4.4.10 ompt_thread_t

Summary The ompt_thread_t enumeration type defines the valid thread type values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_thread_t { 
  ompt_thread_initial                 = 1, 
  ompt_thread_worker                  = 2, 
  ompt_thread_other                   = 3, 
  ompt_thread_unknown                 = 4 
} ompt_thread_t;  

SVG-Viewer needed.

Description Any initial thread has thread type ompt_thread_initial. All OpenMP threads that are not initial threads have thread type ompt_thread_worker. A thread that an OpenMP implementation uses but that does not execute user code has thread type ompt_thread_other. Any thread that is created outside an OpenMP implementation and that is not an initial thread has thread type ompt_thread_unknown.

4.4.4.11 ompt_scope_endpoint_t

Summary The ompt_scope_endpoint_t enumeration type defines valid scope endpoint values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_scope_endpoint_t { 
  ompt_scope_begin                    = 1, 
  ompt_scope_end                      = 2, 
  ompt_scope_beginend                 = 3 
} ompt_scope_endpoint_t;  

SVG-Viewer needed.

4.4.4.12 ompt_dispatch_t

Summary The ompt_dispatch_t enumeration type defines the valid dispatch kind values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_dispatch_t { 
  ompt_dispatch_iteration             = 1, 
  ompt_dispatch_section               = 2 
} ompt_dispatch_t;  

SVG-Viewer needed.

4.4.4.13 ompt_sync_region_t

Summary The ompt_sync_region_t enumeration type defines the valid synchronization region kind values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_sync_region_t { 
  ompt_sync_region_barrier                    = 1, // deprecated 
  ompt_sync_region_barrier_implicit           = 2, // deprecated 
  ompt_sync_region_barrier_explicit           = 3, 
  ompt_sync_region_barrier_implementation     = 4, 
  ompt_sync_region_taskwait                   = 5, 
  ompt_sync_region_taskgroup                  = 6, 
  ompt_sync_region_reduction                  = 7, 
  ompt_sync_region_barrier_implicit_workshare = 8, 
  ompt_sync_region_barrier_implicit_parallel  = 9, 
  ompt_sync_region_barrier_teams              = 10 
} ompt_sync_region_t;  

SVG-Viewer needed.

4.4.4.14 ompt_target_data_op_t

Summary The ompt_target_data_op_t enumeration type defines the valid target data operation values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_target_data_op_t { 
  ompt_target_data_alloc                      = 1, 
  ompt_target_data_transfer_to_device         = 2, 
  ompt_target_data_transfer_from_device       = 3, 
  ompt_target_data_delete                     = 4, 
  ompt_target_data_associate                  = 5, 
  ompt_target_data_disassociate               = 6, 
  ompt_target_data_alloc_async                = 17, 
  ompt_target_data_transfer_to_device_async   = 18, 
  ompt_target_data_transfer_from_device_async = 19, 
  ompt_target_data_delete_async               = 20 
} ompt_target_data_op_t;  

SVG-Viewer needed.

4.4.4.15 ompt_work_t

Summary The ompt_work_t enumeration type defines the valid work type values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_work_t { 
  ompt_work_loop               = 1, 
  ompt_work_sections           = 2, 
  ompt_work_single_executor    = 3, 
  ompt_work_single_other       = 4, 
  ompt_work_workshare          = 5, 
  ompt_work_distribute         = 6, 
  ompt_work_taskloop           = 7, 
  ompt_work_scope              = 8 
} ompt_work_t;  

SVG-Viewer needed.

4.4.4.16 ompt_mutex_t

Summary The ompt_mutex_t enumeration type defines the valid mutex kind values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_mutex_t { 
  ompt_mutex_lock                     = 1, 
  ompt_mutex_test_lock                = 2, 
  ompt_mutex_nest_lock                = 3, 
  ompt_mutex_test_nest_lock           = 4, 
  ompt_mutex_critical                 = 5, 
  ompt_mutex_atomic                   = 6, 
  ompt_mutex_ordered                  = 7 
} ompt_mutex_t;  

SVG-Viewer needed.

4.4.4.17 ompt_native_mon_flag_t

Summary The ompt_native_mon_flag_t enumeration type defines the valid native monitoring flag values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_native_mon_flag_t { 
  ompt_native_data_motion_explicit    = 0x01, 
  ompt_native_data_motion_implicit    = 0x02, 
  ompt_native_kernel_invocation       = 0x04, 
  ompt_native_kernel_execution        = 0x08, 
  ompt_native_driver                  = 0x10, 
  ompt_native_runtime                 = 0x20, 
  ompt_native_overhead                = 0x40, 
  ompt_native_idleness                = 0x80 
} ompt_native_mon_flag_t;  

SVG-Viewer needed.

4.4.4.18 ompt_task_flag_t

Summary The ompt_task_flag_t enumeration type defines valid task types.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_task_flag_t { 
  ompt_task_initial                   = 0x00000001, 
  ompt_task_implicit                  = 0x00000002, 
  ompt_task_explicit                  = 0x00000004, 
  ompt_task_target                    = 0x00000008, 
  ompt_task_taskwait                  = 0x00000010, 
  ompt_task_undeferred                = 0x08000000, 
  ompt_task_untied                    = 0x10000000, 
  ompt_task_final                     = 0x20000000, 
  ompt_task_mergeable                 = 0x40000000, 
  ompt_task_merged                    = 0x80000000 
} ompt_task_flag_t;  

SVG-Viewer needed.

Description The ompt_task_flag_t enumeration type defines valid task type values. The least significant byte provides information about the general classification of the task. The other bits represent properties of the task.

4.4.4.19 ompt_task_status_t

Summary The ompt_task_status_t enumeration type indicates the reason that a task was switched when it reached a task scheduling point.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_task_status_t { 
  ompt_task_complete      = 1, 
  ompt_task_yield         = 2, 
  ompt_task_cancel        = 3, 
  ompt_task_detach        = 4, 
  ompt_task_early_fulfill = 5, 
  ompt_task_late_fulfill  = 6, 
  ompt_task_switch        = 7, 
  ompt_taskwait_complete  = 8 
} ompt_task_status_t;  

SVG-Viewer needed.

Description The value ompt_task_complete of the ompt_task_status_t type indicates that the task that encountered the task scheduling point completed execution of the associated structured block and an associated allow-completion event was fulfilled. The value ompt_task_yield indicates that the task encountered a taskyield construct. The value ompt_task_cancel indicates that the task was canceled when it encountered an active cancellation point. The value ompt_task_detach indicates that a task for which the detach clause was specified completed execution of the associated structured block and is waiting for an allow-completion event to be fulfilled. The value ompt_task_early_fulfill indicates that the allow-completion event of the task was fulfilled before the task completed execution of the associated structured block. The value ompt_task_late_fulfill indicates that the allow-completion event of the task was fulfilled after the task completed execution of the associated structured block. The value ompt_taskwait_complete indicates completion of the dependent task that results from a taskwait construct with one or more depend clauses. The value ompt_task_switch is used for all other cases that a task was switched.

4.4.4.20 ompt_target_t

Summary The ompt_target_t enumeration type defines the valid target type values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_target_t { 
  ompt_target                         = 1, 
  ompt_target_enter_data              = 2, 
  ompt_target_exit_data               = 3, 
  ompt_target_update                  = 4, 
 
  ompt_target_nowait                  = 9, 
  ompt_target_enter_data_nowait       = 10, 
  ompt_target_exit_data_nowait        = 11, 
  ompt_target_update_nowait           = 12 
} ompt_target_t;  

SVG-Viewer needed.

4.4.4.21 ompt_parallel_flag_t

Summary The ompt_parallel_flag_t enumeration type defines valid invoker values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_parallel_flag_t { 
  ompt_parallel_invoker_program = 0x00000001, 
  ompt_parallel_invoker_runtime = 0x00000002, 
  ompt_parallel_league          = 0x40000000, 
  ompt_parallel_team            = 0x80000000 
} ompt_parallel_flag_t;  

SVG-Viewer needed.

Description The ompt_parallel_flag_t enumeration type defines valid invoker values, which indicate how an outlined function is invoked.

The value ompt_parallel_invoker_program indicates that the outlined function associated with implicit tasks for the region is invoked directly by the application on the primary thread for a parallel region.

The value ompt_parallel_invoker_runtime indicates that the outlined function associated with implicit tasks for the region is invoked by the runtime on the primary thread for a parallel region.

The value ompt_parallel_league indicates that the callback is invoked due to the creation of a league of teams by a teams construct.

The value ompt_parallel_team indicates that the callback is invoked due to the creation of a team of threads by a parallel construct.

4.4.4.22 ompt_target_map_flag_t

Summary The ompt_target_map_flag_t enumeration type defines the valid target map flag values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_target_map_flag_t { 
  ompt_target_map_flag_to             = 0x01, 
  ompt_target_map_flag_from           = 0x02, 
  ompt_target_map_flag_alloc          = 0x04, 
  ompt_target_map_flag_release        = 0x08, 
  ompt_target_map_flag_delete         = 0x10, 
  ompt_target_map_flag_implicit       = 0x20 
} ompt_target_map_flag_t;  

SVG-Viewer needed.

4.4.4.23 ompt_dependence_type_t

Summary The ompt_dependence_type_t enumeration type defines the valid task dependence type values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_dependence_type_t { 
  ompt_dependence_type_in              = 1, 
  ompt_dependence_type_out             = 2, 
  ompt_dependence_type_inout           = 3, 
  ompt_dependence_type_mutexinoutset   = 4, 
  ompt_dependence_type_source          = 5, 
  ompt_dependence_type_sink            = 6, 
  ompt_dependence_type_inoutset        = 7 
} ompt_dependence_type_t;  

SVG-Viewer needed.

4.4.4.24 ompt_severity_t

Summary The ompt_severity_t enumeration type defines the valid severity values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_severity_t { 
  ompt_warning            = 1, 
  ompt_fatal              = 2 
} ompt_severity_t;  

SVG-Viewer needed.

4.4.4.25 ompt_cancel_flag_t

Summary The ompt_cancel_flag_t enumeration type defines the valid cancel flag values.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_cancel_flag_t { 
  ompt_cancel_parallel       = 0x01, 
  ompt_cancel_sections       = 0x02, 
  ompt_cancel_loop           = 0x04, 
  ompt_cancel_taskgroup      = 0x08, 
  ompt_cancel_activated      = 0x10, 
  ompt_cancel_detected       = 0x20, 
  ompt_cancel_discarded_task = 0x40 
} ompt_cancel_flag_t;  

SVG-Viewer needed.

4.4.4.26 ompt_hwid_t

Summary The ompt_hwid_t opaque type is a handle for a hardware identifier for a target device.

Format

SVG-Viewer needed.

 

 
typedef uint64_t ompt_hwid_t;  

SVG-Viewer needed.

Description The ompt_hwid_t opaque type is a handle for a hardware identifier for a target device. ompt_hwid_none is an instance of the type that refers to an unknown or unspecified hardware identifier and that has the value 0. If no hwid is associated with an ompt_record_abstract_t then the value of hwid is ompt_hwid_none.

Cross References

4.4.4.27 ompt_state_t

Summary If the OMPT interface is in the active state then an OpenMP implementation must maintain thread state information for each thread. The thread state maintained is an approximation of the instantaneous state of a thread.

Format

SVG-Viewer needed.

A thread state must be one of the values of the enumeration type ompt_state_t or an implementation-defined state value of 512 or higher.  

 
typedef enum ompt_state_t { 
  ompt_state_work_serial                      = 0x000, 
  ompt_state_work_parallel                    = 0x001, 
  ompt_state_work_reduction                   = 0x002, 
 
  ompt_state_wait_barrier                     = 0x010, // deprecated 
  ompt_state_wait_barrier_implicit_parallel   = 0x011, 
  ompt_state_wait_barrier_implicit_workshare  = 0x012, 
  ompt_state_wait_barrier_implicit            = 0x013, // deprecated 
  ompt_state_wait_barrier_explicit            = 0x014, 
  ompt_state_wait_barrier_implementation      = 0x015, 
  ompt_state_wait_barrier_teams               = 0x016, 
 
  ompt_state_wait_taskwait                    = 0x020, 
  ompt_state_wait_taskgroup                   = 0x021, 
 
  ompt_state_wait_mutex                       = 0x040, 
  ompt_state_wait_lock                        = 0x041, 
  ompt_state_wait_critical                    = 0x042, 
  ompt_state_wait_atomic                      = 0x043, 
  ompt_state_wait_ordered                     = 0x044, 
 
  ompt_state_wait_target                      = 0x080, 
  ompt_state_wait_target_map                  = 0x081, 
  ompt_state_wait_target_update               = 0x082, 
 
  ompt_state_idle                             = 0x100, 
  ompt_state_overhead                         = 0x101, 
  ompt_state_undefined                        = 0x102 
} ompt_state_t;  

SVG-Viewer needed.

Description A tool can query the OpenMP state of a thread at any time. If a tool queries the state of a thread that is not associated with OpenMP then the implementation reports the state as ompt_state_undefined.

The value ompt_state_work_serial indicates that the thread is executing code outside all parallel regions.

The value ompt_state_work_parallel indicates that the thread is executing code within the scope of a parallel region.

The value ompt_state_work_reduction indicates that the thread is combining partial reduction results from threads in its team. An OpenMP implementation may never report a thread in this state; a thread that is combining partial reduction results may have its state reported as ompt_state_work_parallel or ompt_state_overhead.

The value ompt_state_wait_barrier_implicit_parallel indicates that the thread is waiting at the implicit barrier at the end of a parallel region.

The value ompt_state_wait_barrier_implicit_workshare indicates that the thread is waiting at an implicit barrier at the end of a worksharing construct.

The value ompt_state_wait_barrier_explicit indicates that the thread is waiting in an explicit barrier region.

The value ompt_state_wait_barrier_implementation indicates that the thread is waiting in a barrier not required by the OpenMP standard but introduced by an OpenMP implementation.

The value ompt_state_wait_barrier_teams indicates that the thread is waiting at a barrier at the end of a teams region.

The value ompt_state_wait_taskwait indicates that the thread is waiting at a taskwait construct.

The value ompt_state_wait_taskgroup indicates that the thread is waiting at the end of a taskgroup construct.

The value ompt_state_wait_mutex indicates that the thread is waiting for a mutex of an unspecified type.

The value ompt_state_wait_lock indicates that the thread is waiting for a lock or nestable lock.

The value ompt_state_wait_critical indicates that the thread is waiting to enter a critical region.

The value ompt_state_wait_atomic indicates that the thread is waiting to enter an atomic region.

The value ompt_state_wait_ordered indicates that the thread is waiting to enter an ordered region.

The value ompt_state_wait_target indicates that the thread is waiting for a target region to complete.

The value ompt_state_wait_target_map indicates that the thread is waiting for a target data mapping operation to complete. An implementation may report ompt_state_wait_target for target data constructs.

The value ompt_state_wait_target_update indicates that the thread is waiting for a target update operation to complete. An implementation may report ompt_state_wait_target for target update constructs.

The value ompt_state_idle indicates that the thread is idle, that is, it is not part of an OpenMP team.

The value ompt_state_overhead indicates that the thread is in the overhead state at any point while executing within the OpenMP runtime, except while waiting at a synchronization point.

The value ompt_state_undefined indicates that the native thread is not created by the OpenMP implementation.

4.4.4.28 ompt_frame_t

Summary The ompt_frame_t type describes procedure frame information for an OpenMP task.

Format

SVG-Viewer needed.

 

 
typedef struct ompt_frame_t { 
  ompt_data_t exit_frame; 
  ompt_data_t enter_frame; 
  int exit_frame_flags; 
  int enter_frame_flags; 
} ompt_frame_t;  

SVG-Viewer needed.

Description Each ompt_frame_t object is associated with the task to which the procedure frames belong. Each non-merged initial, implicit, explicit, or target task with one or more frames on the stack of a native thread has an associated ompt_frame_t object.

The exit_frame field of an ompt_frame_t object contains information to identify the first procedure frame executing the task region. The exit_frame for the ompt_frame_t object associated with the initial task that is not nested inside any OpenMP construct is NULL.

The enter_frame field of an ompt_frame_t object contains information to identify the latest still active procedure frame executing the task region before entering the OpenMP runtime implementation or before executing a different task. If a task with frames on the stack has not been suspended, the value of enter_frame for the ompt_frame_t object associated with the task may contain NULL.

For exit_frame, the exit_frame_flags and, for enter_frame, the enter_frame_flags field indicates that the provided frame information points to a runtime or an application frame address. The same fields also specify the kind of information that is provided to identify the frame, These fields are a disjunction of values in the ompt_frame_flag_t enumeration type.

The lifetime of an ompt_frame_t object begins when a task is created and ends when the task is destroyed. Tools should not assume that a frame structure remains at a constant location in memory throughout the lifetime of the task. A pointer to an ompt_frame_t object is passed to some callbacks; a pointer to the ompt_frame_t object of a task can also be retrieved by a tool at any time, including in a signal handler, by invoking the ompt_get_task_info runtime entry point (described in Section 4.6.1.14). A pointer to an ompt_frame_t object that a tool retrieved is valid as long as the tool does not pass back control to the OpenMP implementation.

SVG-Viewer needed.

Note – A monitoring tool that uses asynchronous sampling can observe values of exit_frame and enter_frame at inconvenient times. Tools must be prepared to handle ompt_frame_t objects observed just prior to when their field values will be set or cleared.

SVG-Viewer needed.

4.4.4.29 ompt_frame_flag_t

Summary The ompt_frame_flag_t enumeration type defines valid frame information flags.

Format

SVG-Viewer needed.

 

 
typedef enum ompt_frame_flag_t { 
  ompt_frame_runtime        = 0x00, 
  ompt_frame_application    = 0x01, 
  ompt_frame_cfa            = 0x10, 
  ompt_frame_framepointer   = 0x20, 
  ompt_frame_stackaddress   = 0x30 
} ompt_frame_flag_t;  

SVG-Viewer needed.

Description The value ompt_frame_runtime of the ompt_frame_flag_t type indicates that a frame address is a procedure frame in the OpenMP runtime implementation. The value ompt_frame_application of the ompt_frame_flag_t type indicates that a frame address is a procedure frame in the OpenMP application.

Higher order bits indicate the kind of provided information that is unique for the particular frame pointer. The value ompt_frame_cfa indicates that a frame address specifies a canonical frame address. The value ompt_frame_framepointer indicates that a frame address provides the value of the frame pointer register. The value ompt_frame_stackaddress indicates that a frame address specifies a pointer address that is contained in the current stack frame.

4.4.4.30 ompt_wait_id_t

Summary The ompt_wait_id_t type describes wait identifiers for an OpenMP thread.

Format

SVG-Viewer needed.

 

 
typedef uint64_t ompt_wait_id_t;  

SVG-Viewer needed.

Description Each thread maintains a wait identifier of type ompt_wait_id_t. When a task that a thread executes is waiting for mutual exclusion, the wait identifier of the thread indicates the reason that the thread is waiting. A wait identifier may represent a critical section name, a lock, a program variable accessed in an atomic region, or a synchronization object that is internal to an OpenMP implementation. When a thread is not in a wait state then the value of the wait identifier of the thread is undefined.

ompt_wait_id_none is defined as an instance of type ompt_wait_id_t with the value 0.