LLVM OpenMP* Runtime Library
 All Classes Functions Variables Typedefs Enumerations Enumerator Groups Pages
kmp_ftn_os.h
1 /*
2  * kmp_ftn_os.h -- KPTS Fortran defines header file.
3  */
4 
5 //===----------------------------------------------------------------------===//
6 //
7 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
8 // See https://llvm.org/LICENSE.txt for license information.
9 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef KMP_FTN_OS_H
14 #define KMP_FTN_OS_H
15 
16 // KMP_FNT_ENTRIES may be one of: KMP_FTN_PLAIN, KMP_FTN_UPPER, KMP_FTN_APPEND,
17 // KMP_FTN_UAPPEND.
18 
19 /* -------------------------- External definitions ------------------------ */
20 
21 #if KMP_FTN_ENTRIES == KMP_FTN_PLAIN
22 
23 #define FTN_SET_STACKSIZE kmp_set_stacksize
24 #define FTN_SET_STACKSIZE_S kmp_set_stacksize_s
25 #define FTN_GET_STACKSIZE kmp_get_stacksize
26 #define FTN_GET_STACKSIZE_S kmp_get_stacksize_s
27 #define FTN_SET_BLOCKTIME kmp_set_blocktime
28 #define FTN_GET_BLOCKTIME kmp_get_blocktime
29 #define FTN_SET_LIBRARY_SERIAL kmp_set_library_serial
30 #define FTN_SET_LIBRARY_TURNAROUND kmp_set_library_turnaround
31 #define FTN_SET_LIBRARY_THROUGHPUT kmp_set_library_throughput
32 #define FTN_SET_LIBRARY kmp_set_library
33 #define FTN_GET_LIBRARY kmp_get_library
34 #define FTN_SET_DEFAULTS kmp_set_defaults
35 #define FTN_SET_DISP_NUM_BUFFERS kmp_set_disp_num_buffers
36 #define FTN_SET_AFFINITY kmp_set_affinity
37 #define FTN_GET_AFFINITY kmp_get_affinity
38 #define FTN_GET_AFFINITY_MAX_PROC kmp_get_affinity_max_proc
39 #define FTN_CREATE_AFFINITY_MASK kmp_create_affinity_mask
40 #define FTN_DESTROY_AFFINITY_MASK kmp_destroy_affinity_mask
41 #define FTN_SET_AFFINITY_MASK_PROC kmp_set_affinity_mask_proc
42 #define FTN_UNSET_AFFINITY_MASK_PROC kmp_unset_affinity_mask_proc
43 #define FTN_GET_AFFINITY_MASK_PROC kmp_get_affinity_mask_proc
44 
45 #define FTN_MALLOC kmp_malloc
46 #define FTN_ALIGNED_MALLOC kmp_aligned_malloc
47 #define FTN_CALLOC kmp_calloc
48 #define FTN_REALLOC kmp_realloc
49 #define FTN_KFREE kmp_free
50 
51 #define FTN_GET_NUM_KNOWN_THREADS kmp_get_num_known_threads
52 
53 #define FTN_SET_NUM_THREADS omp_set_num_threads
54 #define FTN_GET_NUM_THREADS omp_get_num_threads
55 #define FTN_GET_MAX_THREADS omp_get_max_threads
56 #define FTN_GET_THREAD_NUM omp_get_thread_num
57 #define FTN_GET_NUM_PROCS omp_get_num_procs
58 #define FTN_SET_DYNAMIC omp_set_dynamic
59 #define FTN_GET_DYNAMIC omp_get_dynamic
60 #define FTN_SET_NESTED omp_set_nested
61 #define FTN_GET_NESTED omp_get_nested
62 #define FTN_IN_PARALLEL omp_in_parallel
63 #define FTN_GET_THREAD_LIMIT omp_get_thread_limit
64 #define FTN_SET_SCHEDULE omp_set_schedule
65 #define FTN_GET_SCHEDULE omp_get_schedule
66 #define FTN_SET_MAX_ACTIVE_LEVELS omp_set_max_active_levels
67 #define FTN_GET_MAX_ACTIVE_LEVELS omp_get_max_active_levels
68 #define FTN_GET_ACTIVE_LEVEL omp_get_active_level
69 #define FTN_GET_LEVEL omp_get_level
70 #define FTN_GET_ANCESTOR_THREAD_NUM omp_get_ancestor_thread_num
71 #define FTN_GET_TEAM_SIZE omp_get_team_size
72 #define FTN_IN_FINAL omp_in_final
73 // #define FTN_SET_PROC_BIND omp_set_proc_bind
74 #define FTN_GET_PROC_BIND omp_get_proc_bind
75 // #define FTN_CURR_PROC_BIND omp_curr_proc_bind
76 #if OMP_40_ENABLED
77 #define FTN_GET_NUM_TEAMS omp_get_num_teams
78 #define FTN_GET_TEAM_NUM omp_get_team_num
79 #endif
80 #define FTN_INIT_LOCK omp_init_lock
81 #if KMP_USE_DYNAMIC_LOCK
82 #define FTN_INIT_LOCK_WITH_HINT omp_init_lock_with_hint
83 #define FTN_INIT_NEST_LOCK_WITH_HINT omp_init_nest_lock_with_hint
84 #endif
85 #define FTN_DESTROY_LOCK omp_destroy_lock
86 #define FTN_SET_LOCK omp_set_lock
87 #define FTN_UNSET_LOCK omp_unset_lock
88 #define FTN_TEST_LOCK omp_test_lock
89 #define FTN_INIT_NEST_LOCK omp_init_nest_lock
90 #define FTN_DESTROY_NEST_LOCK omp_destroy_nest_lock
91 #define FTN_SET_NEST_LOCK omp_set_nest_lock
92 #define FTN_UNSET_NEST_LOCK omp_unset_nest_lock
93 #define FTN_TEST_NEST_LOCK omp_test_nest_lock
94 
95 #define FTN_SET_WARNINGS_ON kmp_set_warnings_on
96 #define FTN_SET_WARNINGS_OFF kmp_set_warnings_off
97 
98 #define FTN_GET_WTIME omp_get_wtime
99 #define FTN_GET_WTICK omp_get_wtick
100 
101 #if OMP_40_ENABLED
102 #define FTN_GET_NUM_DEVICES omp_get_num_devices
103 #define FTN_GET_DEFAULT_DEVICE omp_get_default_device
104 #define FTN_SET_DEFAULT_DEVICE omp_set_default_device
105 #define FTN_IS_INITIAL_DEVICE omp_is_initial_device
106 #endif
107 
108 #if OMP_40_ENABLED
109 #define FTN_GET_CANCELLATION omp_get_cancellation
110 #define FTN_GET_CANCELLATION_STATUS kmp_get_cancellation_status
111 #endif
112 
113 #if OMP_45_ENABLED
114 #define FTN_GET_MAX_TASK_PRIORITY omp_get_max_task_priority
115 #define FTN_GET_NUM_PLACES omp_get_num_places
116 #define FTN_GET_PLACE_NUM_PROCS omp_get_place_num_procs
117 #define FTN_GET_PLACE_PROC_IDS omp_get_place_proc_ids
118 #define FTN_GET_PLACE_NUM omp_get_place_num
119 #define FTN_GET_PARTITION_NUM_PLACES omp_get_partition_num_places
120 #define FTN_GET_PARTITION_PLACE_NUMS omp_get_partition_place_nums
121 #define FTN_GET_INITIAL_DEVICE omp_get_initial_device
122 #ifdef KMP_STUB
123 #define FTN_TARGET_ALLOC omp_target_alloc
124 #define FTN_TARGET_FREE omp_target_free
125 #define FTN_TARGET_IS_PRESENT omp_target_is_present
126 #define FTN_TARGET_MEMCPY omp_target_memcpy
127 #define FTN_TARGET_MEMCPY_RECT omp_target_memcpy_rect
128 #define FTN_TARGET_ASSOCIATE_PTR omp_target_associate_ptr
129 #define FTN_TARGET_DISASSOCIATE_PTR omp_target_disassociate_ptr
130 #endif
131 #endif
132 
133 #if OMP_50_ENABLED
134 #define FTN_CONTROL_TOOL omp_control_tool
135 #define FTN_INIT_ALLOCATOR omp_init_allocator
136 #define FTN_DESTROY_ALLOCATOR omp_destroy_allocator
137 #define FTN_SET_DEFAULT_ALLOCATOR omp_set_default_allocator
138 #define FTN_GET_DEFAULT_ALLOCATOR omp_get_default_allocator
139 #define FTN_GET_DEVICE_NUM omp_get_device_num
140 #define FTN_SET_AFFINITY_FORMAT omp_set_affinity_format
141 #define FTN_GET_AFFINITY_FORMAT omp_get_affinity_format
142 #define FTN_DISPLAY_AFFINITY omp_display_affinity
143 #define FTN_CAPTURE_AFFINITY omp_capture_affinity
144 #define FTN_PAUSE_RESOURCE omp_pause_resource
145 #define FTN_PAUSE_RESOURCE_ALL omp_pause_resource_all
146 #define FTN_GET_SUPPORTED_ACTIVE_LEVELS omp_get_supported_active_levels
147 #endif
148 
149 #endif /* KMP_FTN_PLAIN */
150 
151 /* ------------------------------------------------------------------------ */
152 
153 #if KMP_FTN_ENTRIES == KMP_FTN_APPEND
154 
155 #define FTN_SET_STACKSIZE kmp_set_stacksize_
156 #define FTN_SET_STACKSIZE_S kmp_set_stacksize_s_
157 #define FTN_GET_STACKSIZE kmp_get_stacksize_
158 #define FTN_GET_STACKSIZE_S kmp_get_stacksize_s_
159 #define FTN_SET_BLOCKTIME kmp_set_blocktime_
160 #define FTN_GET_BLOCKTIME kmp_get_blocktime_
161 #define FTN_SET_LIBRARY_SERIAL kmp_set_library_serial_
162 #define FTN_SET_LIBRARY_TURNAROUND kmp_set_library_turnaround_
163 #define FTN_SET_LIBRARY_THROUGHPUT kmp_set_library_throughput_
164 #define FTN_SET_LIBRARY kmp_set_library_
165 #define FTN_GET_LIBRARY kmp_get_library_
166 #define FTN_SET_DEFAULTS kmp_set_defaults_
167 #define FTN_SET_DISP_NUM_BUFFERS kmp_set_disp_num_buffers_
168 #define FTN_SET_AFFINITY kmp_set_affinity_
169 #define FTN_GET_AFFINITY kmp_get_affinity_
170 #define FTN_GET_AFFINITY_MAX_PROC kmp_get_affinity_max_proc_
171 #define FTN_CREATE_AFFINITY_MASK kmp_create_affinity_mask_
172 #define FTN_DESTROY_AFFINITY_MASK kmp_destroy_affinity_mask_
173 #define FTN_SET_AFFINITY_MASK_PROC kmp_set_affinity_mask_proc_
174 #define FTN_UNSET_AFFINITY_MASK_PROC kmp_unset_affinity_mask_proc_
175 #define FTN_GET_AFFINITY_MASK_PROC kmp_get_affinity_mask_proc_
176 
177 #define FTN_MALLOC kmp_malloc_
178 #define FTN_ALIGNED_MALLOC kmp_aligned_malloc_
179 #define FTN_CALLOC kmp_calloc_
180 #define FTN_REALLOC kmp_realloc_
181 #define FTN_KFREE kmp_free_
182 
183 #define FTN_GET_NUM_KNOWN_THREADS kmp_get_num_known_threads_
184 
185 #define FTN_SET_NUM_THREADS omp_set_num_threads_
186 #define FTN_GET_NUM_THREADS omp_get_num_threads_
187 #define FTN_GET_MAX_THREADS omp_get_max_threads_
188 #define FTN_GET_THREAD_NUM omp_get_thread_num_
189 #define FTN_GET_NUM_PROCS omp_get_num_procs_
190 #define FTN_SET_DYNAMIC omp_set_dynamic_
191 #define FTN_GET_DYNAMIC omp_get_dynamic_
192 #define FTN_SET_NESTED omp_set_nested_
193 #define FTN_GET_NESTED omp_get_nested_
194 #define FTN_IN_PARALLEL omp_in_parallel_
195 #define FTN_GET_THREAD_LIMIT omp_get_thread_limit_
196 #define FTN_SET_SCHEDULE omp_set_schedule_
197 #define FTN_GET_SCHEDULE omp_get_schedule_
198 #define FTN_SET_MAX_ACTIVE_LEVELS omp_set_max_active_levels_
199 #define FTN_GET_MAX_ACTIVE_LEVELS omp_get_max_active_levels_
200 #define FTN_GET_ACTIVE_LEVEL omp_get_active_level_
201 #define FTN_GET_LEVEL omp_get_level_
202 #define FTN_GET_ANCESTOR_THREAD_NUM omp_get_ancestor_thread_num_
203 #define FTN_GET_TEAM_SIZE omp_get_team_size_
204 #define FTN_IN_FINAL omp_in_final_
205 // #define FTN_SET_PROC_BIND omp_set_proc_bind_
206 #define FTN_GET_PROC_BIND omp_get_proc_bind_
207 // #define FTN_CURR_PROC_BIND omp_curr_proc_bind_
208 #if OMP_40_ENABLED
209 #define FTN_GET_NUM_TEAMS omp_get_num_teams_
210 #define FTN_GET_TEAM_NUM omp_get_team_num_
211 #endif
212 #define FTN_INIT_LOCK omp_init_lock_
213 #if KMP_USE_DYNAMIC_LOCK
214 #define FTN_INIT_LOCK_WITH_HINT omp_init_lock_with_hint_
215 #define FTN_INIT_NEST_LOCK_WITH_HINT omp_init_nest_lock_with_hint_
216 #endif
217 #define FTN_DESTROY_LOCK omp_destroy_lock_
218 #define FTN_SET_LOCK omp_set_lock_
219 #define FTN_UNSET_LOCK omp_unset_lock_
220 #define FTN_TEST_LOCK omp_test_lock_
221 #define FTN_INIT_NEST_LOCK omp_init_nest_lock_
222 #define FTN_DESTROY_NEST_LOCK omp_destroy_nest_lock_
223 #define FTN_SET_NEST_LOCK omp_set_nest_lock_
224 #define FTN_UNSET_NEST_LOCK omp_unset_nest_lock_
225 #define FTN_TEST_NEST_LOCK omp_test_nest_lock_
226 
227 #define FTN_SET_WARNINGS_ON kmp_set_warnings_on_
228 #define FTN_SET_WARNINGS_OFF kmp_set_warnings_off_
229 
230 #define FTN_GET_WTIME omp_get_wtime_
231 #define FTN_GET_WTICK omp_get_wtick_
232 
233 #if OMP_40_ENABLED
234 #define FTN_GET_NUM_DEVICES omp_get_num_devices_
235 #define FTN_GET_DEFAULT_DEVICE omp_get_default_device_
236 #define FTN_SET_DEFAULT_DEVICE omp_set_default_device_
237 #define FTN_IS_INITIAL_DEVICE omp_is_initial_device_
238 #endif
239 
240 #if OMP_40_ENABLED
241 #define FTN_GET_CANCELLATION omp_get_cancellation_
242 #define FTN_GET_CANCELLATION_STATUS kmp_get_cancellation_status_
243 #endif
244 
245 #if OMP_45_ENABLED
246 #define FTN_GET_MAX_TASK_PRIORITY omp_get_max_task_priority_
247 #define FTN_GET_NUM_PLACES omp_get_num_places_
248 #define FTN_GET_PLACE_NUM_PROCS omp_get_place_num_procs_
249 #define FTN_GET_PLACE_PROC_IDS omp_get_place_proc_ids_
250 #define FTN_GET_PLACE_NUM omp_get_place_num_
251 #define FTN_GET_PARTITION_NUM_PLACES omp_get_partition_num_places_
252 #define FTN_GET_PARTITION_PLACE_NUMS omp_get_partition_place_nums_
253 #define FTN_GET_INITIAL_DEVICE omp_get_initial_device_
254 #ifdef KMP_STUB
255 #define FTN_TARGET_ALLOC omp_target_alloc_
256 #define FTN_TARGET_FREE omp_target_free_
257 #define FTN_TARGET_IS_PRESENT omp_target_is_present_
258 #define FTN_TARGET_MEMCPY omp_target_memcpy_
259 #define FTN_TARGET_MEMCPY_RECT omp_target_memcpy_rect_
260 #define FTN_TARGET_ASSOCIATE_PTR omp_target_associate_ptr_
261 #define FTN_TARGET_DISASSOCIATE_PTR omp_target_disassociate_ptr_
262 #endif
263 #endif
264 
265 #if OMP_50_ENABLED
266 #define FTN_CONTROL_TOOL omp_control_tool_
267 #define FTN_INIT_ALLOCATOR omp_init_allocator_
268 #define FTN_DESTROY_ALLOCATOR omp_destroy_allocator_
269 #define FTN_SET_DEFAULT_ALLOCATOR omp_set_default_allocator_
270 #define FTN_GET_DEFAULT_ALLOCATOR omp_get_default_allocator_
271 #define FTN_ALLOC omp_alloc_
272 #define FTN_FREE omp_free_
273 #define FTN_GET_DEVICE_NUM omp_get_device_num_
274 #define FTN_SET_AFFINITY_FORMAT omp_set_affinity_format_
275 #define FTN_GET_AFFINITY_FORMAT omp_get_affinity_format_
276 #define FTN_DISPLAY_AFFINITY omp_display_affinity_
277 #define FTN_CAPTURE_AFFINITY omp_capture_affinity_
278 #define FTN_PAUSE_RESOURCE omp_pause_resource_
279 #define FTN_PAUSE_RESOURCE_ALL omp_pause_resource_all_
280 #define FTN_GET_SUPPORTED_ACTIVE_LEVELS omp_get_supported_active_levels_
281 #endif
282 
283 #endif /* KMP_FTN_APPEND */
284 
285 /* ------------------------------------------------------------------------ */
286 
287 #if KMP_FTN_ENTRIES == KMP_FTN_UPPER
288 
289 #define FTN_SET_STACKSIZE KMP_SET_STACKSIZE
290 #define FTN_SET_STACKSIZE_S KMP_SET_STACKSIZE_S
291 #define FTN_GET_STACKSIZE KMP_GET_STACKSIZE
292 #define FTN_GET_STACKSIZE_S KMP_GET_STACKSIZE_S
293 #define FTN_SET_BLOCKTIME KMP_SET_BLOCKTIME
294 #define FTN_GET_BLOCKTIME KMP_GET_BLOCKTIME
295 #define FTN_SET_LIBRARY_SERIAL KMP_SET_LIBRARY_SERIAL
296 #define FTN_SET_LIBRARY_TURNAROUND KMP_SET_LIBRARY_TURNAROUND
297 #define FTN_SET_LIBRARY_THROUGHPUT KMP_SET_LIBRARY_THROUGHPUT
298 #define FTN_SET_LIBRARY KMP_SET_LIBRARY
299 #define FTN_GET_LIBRARY KMP_GET_LIBRARY
300 #define FTN_SET_DEFAULTS KMP_SET_DEFAULTS
301 #define FTN_SET_DISP_NUM_BUFFERS KMP_SET_DISP_NUM_BUFFERS
302 #define FTN_SET_AFFINITY KMP_SET_AFFINITY
303 #define FTN_GET_AFFINITY KMP_GET_AFFINITY
304 #define FTN_GET_AFFINITY_MAX_PROC KMP_GET_AFFINITY_MAX_PROC
305 #define FTN_CREATE_AFFINITY_MASK KMP_CREATE_AFFINITY_MASK
306 #define FTN_DESTROY_AFFINITY_MASK KMP_DESTROY_AFFINITY_MASK
307 #define FTN_SET_AFFINITY_MASK_PROC KMP_SET_AFFINITY_MASK_PROC
308 #define FTN_UNSET_AFFINITY_MASK_PROC KMP_UNSET_AFFINITY_MASK_PROC
309 #define FTN_GET_AFFINITY_MASK_PROC KMP_GET_AFFINITY_MASK_PROC
310 
311 #define FTN_MALLOC KMP_MALLOC
312 #define FTN_ALIGNED_MALLOC KMP_ALIGNED_MALLOC
313 #define FTN_CALLOC KMP_CALLOC
314 #define FTN_REALLOC KMP_REALLOC
315 #define FTN_KFREE KMP_FREE
316 
317 #define FTN_GET_NUM_KNOWN_THREADS KMP_GET_NUM_KNOWN_THREADS
318 
319 #define FTN_SET_NUM_THREADS OMP_SET_NUM_THREADS
320 #define FTN_GET_NUM_THREADS OMP_GET_NUM_THREADS
321 #define FTN_GET_MAX_THREADS OMP_GET_MAX_THREADS
322 #define FTN_GET_THREAD_NUM OMP_GET_THREAD_NUM
323 #define FTN_GET_NUM_PROCS OMP_GET_NUM_PROCS
324 #define FTN_SET_DYNAMIC OMP_SET_DYNAMIC
325 #define FTN_GET_DYNAMIC OMP_GET_DYNAMIC
326 #define FTN_SET_NESTED OMP_SET_NESTED
327 #define FTN_GET_NESTED OMP_GET_NESTED
328 #define FTN_IN_PARALLEL OMP_IN_PARALLEL
329 #define FTN_GET_THREAD_LIMIT OMP_GET_THREAD_LIMIT
330 #define FTN_SET_SCHEDULE OMP_SET_SCHEDULE
331 #define FTN_GET_SCHEDULE OMP_GET_SCHEDULE
332 #define FTN_SET_MAX_ACTIVE_LEVELS OMP_SET_MAX_ACTIVE_LEVELS
333 #define FTN_GET_MAX_ACTIVE_LEVELS OMP_GET_MAX_ACTIVE_LEVELS
334 #define FTN_GET_ACTIVE_LEVEL OMP_GET_ACTIVE_LEVEL
335 #define FTN_GET_LEVEL OMP_GET_LEVEL
336 #define FTN_GET_ANCESTOR_THREAD_NUM OMP_GET_ANCESTOR_THREAD_NUM
337 #define FTN_GET_TEAM_SIZE OMP_GET_TEAM_SIZE
338 #define FTN_IN_FINAL OMP_IN_FINAL
339 // #define FTN_SET_PROC_BIND OMP_SET_PROC_BIND
340 #define FTN_GET_PROC_BIND OMP_GET_PROC_BIND
341 // #define FTN_CURR_PROC_BIND OMP_CURR_PROC_BIND
342 #if OMP_40_ENABLED
343 #define FTN_GET_NUM_TEAMS OMP_GET_NUM_TEAMS
344 #define FTN_GET_TEAM_NUM OMP_GET_TEAM_NUM
345 #endif
346 #define FTN_INIT_LOCK OMP_INIT_LOCK
347 #if KMP_USE_DYNAMIC_LOCK
348 #define FTN_INIT_LOCK_WITH_HINT OMP_INIT_LOCK_WITH_HINT
349 #define FTN_INIT_NEST_LOCK_WITH_HINT OMP_INIT_NEST_LOCK_WITH_HINT
350 #endif
351 #define FTN_DESTROY_LOCK OMP_DESTROY_LOCK
352 #define FTN_SET_LOCK OMP_SET_LOCK
353 #define FTN_UNSET_LOCK OMP_UNSET_LOCK
354 #define FTN_TEST_LOCK OMP_TEST_LOCK
355 #define FTN_INIT_NEST_LOCK OMP_INIT_NEST_LOCK
356 #define FTN_DESTROY_NEST_LOCK OMP_DESTROY_NEST_LOCK
357 #define FTN_SET_NEST_LOCK OMP_SET_NEST_LOCK
358 #define FTN_UNSET_NEST_LOCK OMP_UNSET_NEST_LOCK
359 #define FTN_TEST_NEST_LOCK OMP_TEST_NEST_LOCK
360 
361 #define FTN_SET_WARNINGS_ON KMP_SET_WARNINGS_ON
362 #define FTN_SET_WARNINGS_OFF KMP_SET_WARNINGS_OFF
363 
364 #define FTN_GET_WTIME OMP_GET_WTIME
365 #define FTN_GET_WTICK OMP_GET_WTICK
366 
367 #if OMP_40_ENABLED
368 #define FTN_GET_NUM_DEVICES OMP_GET_NUM_DEVICES
369 #define FTN_GET_DEFAULT_DEVICE OMP_GET_DEFAULT_DEVICE
370 #define FTN_SET_DEFAULT_DEVICE OMP_SET_DEFAULT_DEVICE
371 #define FTN_IS_INITIAL_DEVICE OMP_IS_INITIAL_DEVICE
372 #endif
373 
374 #if OMP_40_ENABLED
375 #define FTN_GET_CANCELLATION OMP_GET_CANCELLATION
376 #define FTN_GET_CANCELLATION_STATUS KMP_GET_CANCELLATION_STATUS
377 #endif
378 
379 #if OMP_45_ENABLED
380 #define FTN_GET_MAX_TASK_PRIORITY OMP_GET_MAX_TASK_PRIORITY
381 #define FTN_GET_NUM_PLACES OMP_GET_NUM_PLACES
382 #define FTN_GET_PLACE_NUM_PROCS OMP_GET_PLACE_NUM_PROCS
383 #define FTN_GET_PLACE_PROC_IDS OMP_GET_PLACE_PROC_IDS
384 #define FTN_GET_PLACE_NUM OMP_GET_PLACE_NUM
385 #define FTN_GET_PARTITION_NUM_PLACES OMP_GET_PARTITION_NUM_PLACES
386 #define FTN_GET_PARTITION_PLACE_NUMS OMP_GET_PARTITION_PLACE_NUMS
387 #define FTN_GET_INITIAL_DEVICE OMP_GET_INITIAL_DEVICE
388 #ifdef KMP_STUB
389 #define FTN_TARGET_ALLOC OMP_TARGET_ALLOC
390 #define FTN_TARGET_FREE OMP_TARGET_FREE
391 #define FTN_TARGET_IS_PRESENT OMP_TARGET_IS_PRESENT
392 #define FTN_TARGET_MEMCPY OMP_TARGET_MEMCPY
393 #define FTN_TARGET_MEMCPY_RECT OMP_TARGET_MEMCPY_RECT
394 #define FTN_TARGET_ASSOCIATE_PTR OMP_TARGET_ASSOCIATE_PTR
395 #define FTN_TARGET_DISASSOCIATE_PTR OMP_TARGET_DISASSOCIATE_PTR
396 #endif
397 #endif
398 
399 #if OMP_50_ENABLED
400 #define FTN_CONTROL_TOOL OMP_CONTROL_TOOL
401 #define FTN_INIT_ALLOCATOR OMP_INIT_ALLOCATOR
402 #define FTN_DESTROY_ALLOCATOR OMP_DESTROY_ALLOCATOR
403 #define FTN_SET_DEFAULT_ALLOCATOR OMP_SET_DEFAULT_ALLOCATOR
404 #define FTN_GET_DEFAULT_ALLOCATOR OMP_GET_DEFAULT_ALLOCATOR
405 #define FTN_GET_DEVICE_NUM OMP_GET_DEVICE_NUM
406 #define FTN_SET_AFFINITY_FORMAT OMP_SET_AFFINITY_FORMAT
407 #define FTN_GET_AFFINITY_FORMAT OMP_GET_AFFINITY_FORMAT
408 #define FTN_DISPLAY_AFFINITY OMP_DISPLAY_AFFINITY
409 #define FTN_CAPTURE_AFFINITY OMP_CAPTURE_AFFINITY
410 #define FTN_PAUSE_RESOURCE OMP_PAUSE_RESOURCE
411 #define FTN_PAUSE_RESOURCE_ALL OMP_PAUSE_RESOURCE_ALL
412 #define FTN_GET_SUPPORTED_ACTIVE_LEVELS OMP_GET_SUPPORTED_ACTIVE_LEVELS
413 #endif
414 
415 #endif /* KMP_FTN_UPPER */
416 
417 /* ------------------------------------------------------------------------ */
418 
419 #if KMP_FTN_ENTRIES == KMP_FTN_UAPPEND
420 
421 #define FTN_SET_STACKSIZE KMP_SET_STACKSIZE_
422 #define FTN_SET_STACKSIZE_S KMP_SET_STACKSIZE_S_
423 #define FTN_GET_STACKSIZE KMP_GET_STACKSIZE_
424 #define FTN_GET_STACKSIZE_S KMP_GET_STACKSIZE_S_
425 #define FTN_SET_BLOCKTIME KMP_SET_BLOCKTIME_
426 #define FTN_GET_BLOCKTIME KMP_GET_BLOCKTIME_
427 #define FTN_SET_LIBRARY_SERIAL KMP_SET_LIBRARY_SERIAL_
428 #define FTN_SET_LIBRARY_TURNAROUND KMP_SET_LIBRARY_TURNAROUND_
429 #define FTN_SET_LIBRARY_THROUGHPUT KMP_SET_LIBRARY_THROUGHPUT_
430 #define FTN_SET_LIBRARY KMP_SET_LIBRARY_
431 #define FTN_GET_LIBRARY KMP_GET_LIBRARY_
432 #define FTN_SET_DEFAULTS KMP_SET_DEFAULTS_
433 #define FTN_SET_DISP_NUM_BUFFERS KMP_SET_DISP_NUM_BUFFERS_
434 #define FTN_SET_AFFINITY KMP_SET_AFFINITY_
435 #define FTN_GET_AFFINITY KMP_GET_AFFINITY_
436 #define FTN_GET_AFFINITY_MAX_PROC KMP_GET_AFFINITY_MAX_PROC_
437 #define FTN_CREATE_AFFINITY_MASK KMP_CREATE_AFFINITY_MASK_
438 #define FTN_DESTROY_AFFINITY_MASK KMP_DESTROY_AFFINITY_MASK_
439 #define FTN_SET_AFFINITY_MASK_PROC KMP_SET_AFFINITY_MASK_PROC_
440 #define FTN_UNSET_AFFINITY_MASK_PROC KMP_UNSET_AFFINITY_MASK_PROC_
441 #define FTN_GET_AFFINITY_MASK_PROC KMP_GET_AFFINITY_MASK_PROC_
442 
443 #define FTN_MALLOC KMP_MALLOC_
444 #define FTN_ALIGNED_MALLOC KMP_ALIGNED_MALLOC_
445 #define FTN_CALLOC KMP_CALLOC_
446 #define FTN_REALLOC KMP_REALLOC_
447 #define FTN_KFREE KMP_FREE_
448 
449 #define FTN_GET_NUM_KNOWN_THREADS KMP_GET_NUM_KNOWN_THREADS_
450 
451 #define FTN_SET_NUM_THREADS OMP_SET_NUM_THREADS_
452 #define FTN_GET_NUM_THREADS OMP_GET_NUM_THREADS_
453 #define FTN_GET_MAX_THREADS OMP_GET_MAX_THREADS_
454 #define FTN_GET_THREAD_NUM OMP_GET_THREAD_NUM_
455 #define FTN_GET_NUM_PROCS OMP_GET_NUM_PROCS_
456 #define FTN_SET_DYNAMIC OMP_SET_DYNAMIC_
457 #define FTN_GET_DYNAMIC OMP_GET_DYNAMIC_
458 #define FTN_SET_NESTED OMP_SET_NESTED_
459 #define FTN_GET_NESTED OMP_GET_NESTED_
460 #define FTN_IN_PARALLEL OMP_IN_PARALLEL_
461 #define FTN_GET_THREAD_LIMIT OMP_GET_THREAD_LIMIT_
462 #define FTN_SET_SCHEDULE OMP_SET_SCHEDULE_
463 #define FTN_GET_SCHEDULE OMP_GET_SCHEDULE_
464 #define FTN_SET_MAX_ACTIVE_LEVELS OMP_SET_MAX_ACTIVE_LEVELS_
465 #define FTN_GET_MAX_ACTIVE_LEVELS OMP_GET_MAX_ACTIVE_LEVELS_
466 #define FTN_GET_ACTIVE_LEVEL OMP_GET_ACTIVE_LEVEL_
467 #define FTN_GET_LEVEL OMP_GET_LEVEL_
468 #define FTN_GET_ANCESTOR_THREAD_NUM OMP_GET_ANCESTOR_THREAD_NUM_
469 #define FTN_GET_TEAM_SIZE OMP_GET_TEAM_SIZE_
470 #define FTN_IN_FINAL OMP_IN_FINAL_
471 // #define FTN_SET_PROC_BIND OMP_SET_PROC_BIND_
472 #define FTN_GET_PROC_BIND OMP_GET_PROC_BIND_
473 // #define FTN_CURR_PROC_BIND OMP_CURR_PROC_BIND_
474 #if OMP_40_ENABLED
475 #define FTN_GET_NUM_TEAMS OMP_GET_NUM_TEAMS_
476 #define FTN_GET_TEAM_NUM OMP_GET_TEAM_NUM_
477 #endif
478 #define FTN_INIT_LOCK OMP_INIT_LOCK_
479 #if KMP_USE_DYNAMIC_LOCK
480 #define FTN_INIT_LOCK_WITH_HINT OMP_INIT_LOCK_WITH_HINT_
481 #define FTN_INIT_NEST_LOCK_WITH_HINT OMP_INIT_NEST_LOCK_WITH_HINT_
482 #endif
483 #define FTN_DESTROY_LOCK OMP_DESTROY_LOCK_
484 #define FTN_SET_LOCK OMP_SET_LOCK_
485 #define FTN_UNSET_LOCK OMP_UNSET_LOCK_
486 #define FTN_TEST_LOCK OMP_TEST_LOCK_
487 #define FTN_INIT_NEST_LOCK OMP_INIT_NEST_LOCK_
488 #define FTN_DESTROY_NEST_LOCK OMP_DESTROY_NEST_LOCK_
489 #define FTN_SET_NEST_LOCK OMP_SET_NEST_LOCK_
490 #define FTN_UNSET_NEST_LOCK OMP_UNSET_NEST_LOCK_
491 #define FTN_TEST_NEST_LOCK OMP_TEST_NEST_LOCK_
492 
493 #define FTN_SET_WARNINGS_ON KMP_SET_WARNINGS_ON_
494 #define FTN_SET_WARNINGS_OFF KMP_SET_WARNINGS_OFF_
495 
496 #define FTN_GET_WTIME OMP_GET_WTIME_
497 #define FTN_GET_WTICK OMP_GET_WTICK_
498 
499 #if OMP_40_ENABLED
500 #define FTN_GET_NUM_DEVICES OMP_GET_NUM_DEVICES_
501 #define FTN_GET_DEFAULT_DEVICE OMP_GET_DEFAULT_DEVICE_
502 #define FTN_SET_DEFAULT_DEVICE OMP_SET_DEFAULT_DEVICE_
503 #define FTN_IS_INITIAL_DEVICE OMP_IS_INITIAL_DEVICE_
504 #endif
505 
506 #if OMP_40_ENABLED
507 #define FTN_GET_CANCELLATION OMP_GET_CANCELLATION_
508 #define FTN_GET_CANCELLATION_STATUS KMP_GET_CANCELLATION_STATUS_
509 #endif
510 
511 #if OMP_45_ENABLED
512 #define FTN_GET_MAX_TASK_PRIORITY OMP_GET_MAX_TASK_PRIORITY_
513 #define FTN_GET_NUM_PLACES OMP_GET_NUM_PLACES_
514 #define FTN_GET_PLACE_NUM_PROCS OMP_GET_PLACE_NUM_PROCS_
515 #define FTN_GET_PLACE_PROC_IDS OMP_GET_PLACE_PROC_IDS_
516 #define FTN_GET_PLACE_NUM OMP_GET_PLACE_NUM_
517 #define FTN_GET_PARTITION_NUM_PLACES OMP_GET_PARTITION_NUM_PLACES_
518 #define FTN_GET_PARTITION_PLACE_NUMS OMP_GET_PARTITION_PLACE_NUMS_
519 #define FTN_GET_INITIAL_DEVICE OMP_GET_INITIAL_DEVICE_
520 #ifdef KMP_STUB
521 #define FTN_TARGET_ALLOC OMP_TARGET_ALLOC_
522 #define FTN_TARGET_FREE OMP_TARGET_FREE_
523 #define FTN_TARGET_IS_PRESENT OMP_TARGET_IS_PRESENT_
524 #define FTN_TARGET_MEMCPY OMP_TARGET_MEMCPY_
525 #define FTN_TARGET_MEMCPY_RECT OMP_TARGET_MEMCPY_RECT_
526 #define FTN_TARGET_ASSOCIATE_PTR OMP_TARGET_ASSOCIATE_PTR_
527 #define FTN_TARGET_DISASSOCIATE_PTR OMP_TARGET_DISASSOCIATE_PTR_
528 #endif
529 #endif
530 
531 #if OMP_50_ENABLED
532 #define FTN_CONTROL_TOOL OMP_CONTROL_TOOL_
533 #define FTN_INIT_ALLOCATOR OMP_INIT_ALLOCATOR_
534 #define FTN_DESTROY_ALLOCATOR OMP_DESTROY_ALLOCATOR_
535 #define FTN_SET_DEFAULT_ALLOCATOR OMP_SET_DEFAULT_ALLOCATOR_
536 #define FTN_GET_DEFAULT_ALLOCATOR OMP_GET_DEFAULT_ALLOCATOR_
537 #define FTN_ALLOC OMP_ALLOC_
538 #define FTN_FREE OMP_FREE_
539 #define FTN_GET_DEVICE_NUM OMP_GET_DEVICE_NUM_
540 #define FTN_SET_AFFINITY_FORMAT OMP_SET_AFFINITY_FORMAT_
541 #define FTN_GET_AFFINITY_FORMAT OMP_GET_AFFINITY_FORMAT_
542 #define FTN_DISPLAY_AFFINITY OMP_DISPLAY_AFFINITY_
543 #define FTN_CAPTURE_AFFINITY OMP_CAPTURE_AFFINITY_
544 #define FTN_PAUSE_RESOURCE OMP_PAUSE_RESOURCE_
545 #define FTN_PAUSE_RESOURCE_ALL OMP_PAUSE_RESOURCE_ALL_
546 #define FTN_GET_SUPPORTED_ACTIVE_LEVELS OMP_GET_SUPPORTED_ACTIVE_LEVELS_
547 #endif
548 
549 #endif /* KMP_FTN_UAPPEND */
550 
551 /* -------------------------- GOMP API NAMES ------------------------ */
552 // All GOMP_1.0 symbols
553 #define KMP_API_NAME_GOMP_ATOMIC_END GOMP_atomic_end
554 #define KMP_API_NAME_GOMP_ATOMIC_START GOMP_atomic_start
555 #define KMP_API_NAME_GOMP_BARRIER GOMP_barrier
556 #define KMP_API_NAME_GOMP_CRITICAL_END GOMP_critical_end
557 #define KMP_API_NAME_GOMP_CRITICAL_NAME_END GOMP_critical_name_end
558 #define KMP_API_NAME_GOMP_CRITICAL_NAME_START GOMP_critical_name_start
559 #define KMP_API_NAME_GOMP_CRITICAL_START GOMP_critical_start
560 #define KMP_API_NAME_GOMP_LOOP_DYNAMIC_NEXT GOMP_loop_dynamic_next
561 #define KMP_API_NAME_GOMP_LOOP_DYNAMIC_START GOMP_loop_dynamic_start
562 #define KMP_API_NAME_GOMP_LOOP_END GOMP_loop_end
563 #define KMP_API_NAME_GOMP_LOOP_END_NOWAIT GOMP_loop_end_nowait
564 #define KMP_API_NAME_GOMP_LOOP_GUIDED_NEXT GOMP_loop_guided_next
565 #define KMP_API_NAME_GOMP_LOOP_GUIDED_START GOMP_loop_guided_start
566 #define KMP_API_NAME_GOMP_LOOP_ORDERED_DYNAMIC_NEXT \
567  GOMP_loop_ordered_dynamic_next
568 #define KMP_API_NAME_GOMP_LOOP_ORDERED_DYNAMIC_START \
569  GOMP_loop_ordered_dynamic_start
570 #define KMP_API_NAME_GOMP_LOOP_ORDERED_GUIDED_NEXT GOMP_loop_ordered_guided_next
571 #define KMP_API_NAME_GOMP_LOOP_ORDERED_GUIDED_START \
572  GOMP_loop_ordered_guided_start
573 #define KMP_API_NAME_GOMP_LOOP_ORDERED_RUNTIME_NEXT \
574  GOMP_loop_ordered_runtime_next
575 #define KMP_API_NAME_GOMP_LOOP_ORDERED_RUNTIME_START \
576  GOMP_loop_ordered_runtime_start
577 #define KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_NEXT GOMP_loop_ordered_static_next
578 #define KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_START \
579  GOMP_loop_ordered_static_start
580 #define KMP_API_NAME_GOMP_LOOP_RUNTIME_NEXT GOMP_loop_runtime_next
581 #define KMP_API_NAME_GOMP_LOOP_RUNTIME_START GOMP_loop_runtime_start
582 #define KMP_API_NAME_GOMP_LOOP_STATIC_NEXT GOMP_loop_static_next
583 #define KMP_API_NAME_GOMP_LOOP_STATIC_START GOMP_loop_static_start
584 #define KMP_API_NAME_GOMP_ORDERED_END GOMP_ordered_end
585 #define KMP_API_NAME_GOMP_ORDERED_START GOMP_ordered_start
586 #define KMP_API_NAME_GOMP_PARALLEL_END GOMP_parallel_end
587 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC_START \
588  GOMP_parallel_loop_dynamic_start
589 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED_START \
590  GOMP_parallel_loop_guided_start
591 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME_START \
592  GOMP_parallel_loop_runtime_start
593 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_STATIC_START \
594  GOMP_parallel_loop_static_start
595 #define KMP_API_NAME_GOMP_PARALLEL_SECTIONS_START GOMP_parallel_sections_start
596 #define KMP_API_NAME_GOMP_PARALLEL_START GOMP_parallel_start
597 #define KMP_API_NAME_GOMP_SECTIONS_END GOMP_sections_end
598 #define KMP_API_NAME_GOMP_SECTIONS_END_NOWAIT GOMP_sections_end_nowait
599 #define KMP_API_NAME_GOMP_SECTIONS_NEXT GOMP_sections_next
600 #define KMP_API_NAME_GOMP_SECTIONS_START GOMP_sections_start
601 #define KMP_API_NAME_GOMP_SINGLE_COPY_END GOMP_single_copy_end
602 #define KMP_API_NAME_GOMP_SINGLE_COPY_START GOMP_single_copy_start
603 #define KMP_API_NAME_GOMP_SINGLE_START GOMP_single_start
604 
605 // All GOMP_2.0 symbols
606 #define KMP_API_NAME_GOMP_TASK GOMP_task
607 #define KMP_API_NAME_GOMP_TASKWAIT GOMP_taskwait
608 #define KMP_API_NAME_GOMP_LOOP_ULL_DYNAMIC_NEXT GOMP_loop_ull_dynamic_next
609 #define KMP_API_NAME_GOMP_LOOP_ULL_DYNAMIC_START GOMP_loop_ull_dynamic_start
610 #define KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_NEXT GOMP_loop_ull_guided_next
611 #define KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_START GOMP_loop_ull_guided_start
612 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT \
613  GOMP_loop_ull_ordered_dynamic_next
614 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START \
615  GOMP_loop_ull_ordered_dynamic_start
616 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT \
617  GOMP_loop_ull_ordered_guided_next
618 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_GUIDED_START \
619  GOMP_loop_ull_ordered_guided_start
620 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT \
621  GOMP_loop_ull_ordered_runtime_next
622 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_RUNTIME_START \
623  GOMP_loop_ull_ordered_runtime_start
624 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT \
625  GOMP_loop_ull_ordered_static_next
626 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_START \
627  GOMP_loop_ull_ordered_static_start
628 #define KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_NEXT GOMP_loop_ull_runtime_next
629 #define KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_START GOMP_loop_ull_runtime_start
630 #define KMP_API_NAME_GOMP_LOOP_ULL_STATIC_NEXT GOMP_loop_ull_static_next
631 #define KMP_API_NAME_GOMP_LOOP_ULL_STATIC_START GOMP_loop_ull_static_start
632 
633 // All GOMP_3.0 symbols
634 #define KMP_API_NAME_GOMP_TASKYIELD GOMP_taskyield
635 
636 // All GOMP_4.0 symbols
637 #define KMP_API_NAME_GOMP_BARRIER_CANCEL GOMP_barrier_cancel
638 #define KMP_API_NAME_GOMP_CANCEL GOMP_cancel
639 #define KMP_API_NAME_GOMP_CANCELLATION_POINT GOMP_cancellation_point
640 #define KMP_API_NAME_GOMP_LOOP_END_CANCEL GOMP_loop_end_cancel
641 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC GOMP_parallel_loop_dynamic
642 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED GOMP_parallel_loop_guided
643 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME GOMP_parallel_loop_runtime
644 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_STATIC GOMP_parallel_loop_static
645 #define KMP_API_NAME_GOMP_PARALLEL_SECTIONS GOMP_parallel_sections
646 #define KMP_API_NAME_GOMP_PARALLEL GOMP_parallel
647 #define KMP_API_NAME_GOMP_SECTIONS_END_CANCEL GOMP_sections_end_cancel
648 #define KMP_API_NAME_GOMP_TASKGROUP_START GOMP_taskgroup_start
649 #define KMP_API_NAME_GOMP_TASKGROUP_END GOMP_taskgroup_end
650 /* Target functions should be taken care of by liboffload */
651 #define KMP_API_NAME_GOMP_TARGET GOMP_target
652 #define KMP_API_NAME_GOMP_TARGET_DATA GOMP_target_data
653 #define KMP_API_NAME_GOMP_TARGET_END_DATA GOMP_target_end_data
654 #define KMP_API_NAME_GOMP_TARGET_UPDATE GOMP_target_update
655 #define KMP_API_NAME_GOMP_TEAMS GOMP_teams
656 
657 // All GOMP_4.5 symbols
658 #define KMP_API_NAME_GOMP_TASKLOOP GOMP_taskloop
659 #define KMP_API_NAME_GOMP_TASKLOOP_ULL GOMP_taskloop_ull
660 #define KMP_API_NAME_GOMP_DOACROSS_POST GOMP_doacross_post
661 #define KMP_API_NAME_GOMP_DOACROSS_WAIT GOMP_doacross_wait
662 #define KMP_API_NAME_GOMP_LOOP_DOACROSS_STATIC_START \
663  GOMP_loop_doacross_static_start
664 #define KMP_API_NAME_GOMP_LOOP_DOACROSS_DYNAMIC_START \
665  GOMP_loop_doacross_dynamic_start
666 #define KMP_API_NAME_GOMP_LOOP_DOACROSS_GUIDED_START \
667  GOMP_loop_doacross_guided_start
668 #define KMP_API_NAME_GOMP_LOOP_DOACROSS_RUNTIME_START \
669  GOMP_loop_doacross_runtime_start
670 #define KMP_API_NAME_GOMP_DOACROSS_ULL_POST GOMP_doacross_ull_post
671 #define KMP_API_NAME_GOMP_DOACROSS_ULL_WAIT GOMP_doacross_ull_wait
672 #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_STATIC_START \
673  GOMP_loop_ull_doacross_static_start
674 #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START \
675  GOMP_loop_ull_doacross_dynamic_start
676 #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_GUIDED_START \
677  GOMP_loop_ull_doacross_guided_start
678 #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START \
679  GOMP_loop_ull_doacross_runtime_start
680 
681 #endif /* KMP_FTN_OS_H */