LLVM OpenMP* Runtime Library
src
ompt-event-specific.h
1
#ifndef __OMPT_EVENT_SPECIFIC_H__
2
#define __OMPT_EVENT_SPECIFIC_H__
3
4
/******************************************************************************
5
* File: ompt-event-specific.h
6
*
7
* Description:
8
*
9
* specify which of the OMPT events are implemented by this runtime system
10
* and the level of their implementation by a runtime system.
11
*****************************************************************************/
12
13
#define _ompt_tokenpaste_helper(x, y) x##y
14
#define _ompt_tokenpaste(x, y) _ompt_tokenpaste_helper(x, y)
15
#define ompt_event_implementation_status(e) _ompt_tokenpaste(e, _implemented)
16
17
/*----------------------------------------------------------------------------
18
| Specify whether an event may occur or not, and whether event callbacks
19
| never, sometimes, or always occur.
20
|
21
| The values for these constants are defined in section 6.1.2 of
22
| the OMPT TR. They are exposed to tools through ompt_set_callback.
23
+--------------------------------------------------------------------------*/
24
25
#define ompt_event_NEVER ompt_set_result_event_never_occurs
26
#define ompt_event_UNIMPLEMENTED ompt_set_result_event_may_occur_no_callback
27
#define ompt_event_MAY_CONVENIENT ompt_set_result_event_may_occur_callback_some
28
#define ompt_event_MAY_ALWAYS ompt_set_result_event_may_occur_callback_always
29
30
#if OMPT_TRACE
31
#define ompt_event_MAY_ALWAYS_TRACE ompt_event_MAY_ALWAYS
32
#else
33
#define ompt_event_MAY_ALWAYS_TRACE ompt_event_UNIMPLEMENTED
34
#endif
35
36
#if OMPT_BLAME
37
#define ompt_event_MAY_ALWAYS_BLAME ompt_event_MAY_ALWAYS
38
#else
39
#define ompt_event_MAY_ALWAYS_BLAME ompt_event_UNIMPLEMENTED
40
#endif
41
42
/*----------------------------------------------------------------------------
43
| Mandatory Events
44
+--------------------------------------------------------------------------*/
45
46
#define ompt_event_parallel_begin_implemented ompt_event_MAY_ALWAYS
47
#define ompt_event_parallel_end_implemented ompt_event_MAY_ALWAYS
48
49
#define ompt_event_task_begin_implemented ompt_event_MAY_ALWAYS
50
#define ompt_event_task_end_implemented ompt_event_MAY_ALWAYS
51
52
#define ompt_event_thread_begin_implemented ompt_event_MAY_ALWAYS
53
#define ompt_event_thread_end_implemented ompt_event_MAY_ALWAYS
54
55
#define ompt_event_control_implemented ompt_event_MAY_ALWAYS
56
57
#define ompt_event_runtime_shutdown_implemented ompt_event_MAY_ALWAYS
58
59
/*----------------------------------------------------------------------------
60
| Optional Events (blame shifting)
61
+--------------------------------------------------------------------------*/
62
63
#define ompt_event_idle_begin_implemented ompt_event_MAY_ALWAYS_BLAME
64
#define ompt_event_idle_end_implemented ompt_event_MAY_ALWAYS_BLAME
65
66
#define ompt_event_wait_barrier_begin_implemented ompt_event_MAY_ALWAYS_BLAME
67
#define ompt_event_wait_barrier_end_implemented ompt_event_MAY_ALWAYS_BLAME
68
69
#define ompt_event_wait_taskwait_begin_implemented ompt_event_UNIMPLEMENTED
70
#define ompt_event_wait_taskwait_end_implemented ompt_event_UNIMPLEMENTED
71
72
#define ompt_event_wait_taskgroup_begin_implemented ompt_event_UNIMPLEMENTED
73
#define ompt_event_wait_taskgroup_end_implemented ompt_event_UNIMPLEMENTED
74
75
#define ompt_event_release_lock_implemented ompt_event_MAY_ALWAYS_BLAME
76
#define ompt_event_release_nest_lock_last_implemented \
77
ompt_event_MAY_ALWAYS_BLAME
78
#define ompt_event_release_critical_implemented ompt_event_MAY_ALWAYS_BLAME
79
#define ompt_event_release_atomic_implemented ompt_event_MAY_ALWAYS_BLAME
80
#define ompt_event_release_ordered_implemented ompt_event_MAY_ALWAYS_BLAME
81
82
/*----------------------------------------------------------------------------
83
| Optional Events (synchronous events)
84
+--------------------------------------------------------------------------*/
85
86
#define ompt_event_implicit_task_begin_implemented ompt_event_MAY_ALWAYS_TRACE
87
#define ompt_event_implicit_task_end_implemented ompt_event_MAY_ALWAYS_TRACE
88
89
#define ompt_event_initial_task_begin_implemented ompt_event_UNIMPLEMENTED
90
#define ompt_event_initial_task_end_implemented ompt_event_UNIMPLEMENTED
91
92
#define ompt_event_task_switch_implemented ompt_event_MAY_ALWAYS_TRACE
93
94
#define ompt_event_loop_begin_implemented ompt_event_MAY_ALWAYS_TRACE
95
#define ompt_event_loop_end_implemented ompt_event_MAY_ALWAYS_TRACE
96
97
#define ompt_event_sections_begin_implemented ompt_event_UNIMPLEMENTED
98
#define ompt_event_sections_end_implemented ompt_event_UNIMPLEMENTED
99
100
#define ompt_event_single_in_block_begin_implemented ompt_event_MAY_ALWAYS_TRACE
101
#define ompt_event_single_in_block_end_implemented ompt_event_MAY_ALWAYS_TRACE
102
#define ompt_event_single_others_begin_implemented ompt_event_MAY_ALWAYS_TRACE
103
#define ompt_event_single_others_end_implemented ompt_event_MAY_ALWAYS_TRACE
104
105
#define ompt_event_workshare_begin_implemented ompt_event_UNIMPLEMENTED
106
#define ompt_event_workshare_end_implemented ompt_event_UNIMPLEMENTED
107
108
#define ompt_event_master_begin_implemented ompt_event_MAY_ALWAYS_TRACE
109
#define ompt_event_master_end_implemented ompt_event_MAY_ALWAYS_TRACE
110
111
#define ompt_event_barrier_begin_implemented ompt_event_MAY_ALWAYS_TRACE
112
#define ompt_event_barrier_end_implemented ompt_event_MAY_ALWAYS_TRACE
113
114
#define ompt_event_taskwait_begin_implemented ompt_event_MAY_ALWAYS_TRACE
115
#define ompt_event_taskwait_end_implemented ompt_event_MAY_ALWAYS_TRACE
116
117
#define ompt_event_taskgroup_begin_implemented ompt_event_UNIMPLEMENTED
118
#define ompt_event_taskgroup_end_implemented ompt_event_UNIMPLEMENTED
119
120
#define ompt_event_release_nest_lock_prev_implemented \
121
ompt_event_MAY_ALWAYS_TRACE
122
#define ompt_event_wait_lock_implemented ompt_event_UNIMPLEMENTED
123
#define ompt_event_wait_nest_lock_implemented ompt_event_UNIMPLEMENTED
124
#define ompt_event_wait_critical_implemented ompt_event_UNIMPLEMENTED
125
#define ompt_event_wait_atomic_implemented ompt_event_MAY_ALWAYS_TRACE
126
#define ompt_event_wait_ordered_implemented ompt_event_MAY_ALWAYS_TRACE
127
128
#define ompt_event_acquired_lock_implemented ompt_event_MAY_ALWAYS_TRACE
129
#define ompt_event_acquired_nest_lock_first_implemented \
130
ompt_event_MAY_ALWAYS_TRACE
131
#define ompt_event_acquired_nest_lock_next_implemented \
132
ompt_event_MAY_ALWAYS_TRACE
133
#define ompt_event_acquired_critical_implemented ompt_event_UNIMPLEMENTED
134
#define ompt_event_acquired_atomic_implemented ompt_event_MAY_ALWAYS_TRACE
135
#define ompt_event_acquired_ordered_implemented ompt_event_MAY_ALWAYS_TRACE
136
137
#define ompt_event_init_lock_implemented ompt_event_MAY_ALWAYS_TRACE
138
#define ompt_event_init_nest_lock_implemented ompt_event_MAY_ALWAYS_TRACE
139
140
#define ompt_event_destroy_lock_implemented ompt_event_MAY_ALWAYS_TRACE
141
#define ompt_event_destroy_nest_lock_implemented ompt_event_MAY_ALWAYS_TRACE
142
143
#define ompt_event_flush_implemented ompt_event_UNIMPLEMENTED
144
145
#if OMP_40_ENABLED
146
#define ompt_event_task_dependences_implemented ompt_event_MAY_ALWAYS_TRACE
147
#define ompt_event_task_dependence_pair_implemented ompt_event_MAY_ALWAYS_TRACE
148
#else
149
#define ompt_event_task_dependences_implemented ompt_event_UNIMPLEMENTED
150
#define ompt_event_task_dependence_pair_implemented ompt_event_UNIMPLEMENTED
151
#endif
/* OMP_40_ENABLED */
152
153
#endif
Generated by
1.8.13