LLVM OpenMP* Runtime Library
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_GET_PROC_BIND omp_get_proc_bind
74 #define FTN_GET_NUM_TEAMS omp_get_num_teams
75 #define FTN_GET_TEAM_NUM omp_get_team_num
76 #define FTN_INIT_LOCK omp_init_lock
77 #if KMP_USE_DYNAMIC_LOCK
78 #define FTN_INIT_LOCK_WITH_HINT omp_init_lock_with_hint
79 #define FTN_INIT_NEST_LOCK_WITH_HINT omp_init_nest_lock_with_hint
80 #endif
81 #define FTN_DESTROY_LOCK omp_destroy_lock
82 #define FTN_SET_LOCK omp_set_lock
83 #define FTN_UNSET_LOCK omp_unset_lock
84 #define FTN_TEST_LOCK omp_test_lock
85 #define FTN_INIT_NEST_LOCK omp_init_nest_lock
86 #define FTN_DESTROY_NEST_LOCK omp_destroy_nest_lock
87 #define FTN_SET_NEST_LOCK omp_set_nest_lock
88 #define FTN_UNSET_NEST_LOCK omp_unset_nest_lock
89 #define FTN_TEST_NEST_LOCK omp_test_nest_lock
90 
91 #define FTN_SET_WARNINGS_ON kmp_set_warnings_on
92 #define FTN_SET_WARNINGS_OFF kmp_set_warnings_off
93 
94 #define FTN_GET_WTIME omp_get_wtime
95 #define FTN_GET_WTICK omp_get_wtick
96 
97 #define FTN_GET_NUM_DEVICES omp_get_num_devices
98 #define FTN_GET_DEFAULT_DEVICE omp_get_default_device
99 #define FTN_SET_DEFAULT_DEVICE omp_set_default_device
100 #define FTN_IS_INITIAL_DEVICE omp_is_initial_device
101 
102 #define FTN_GET_CANCELLATION omp_get_cancellation
103 #define FTN_GET_CANCELLATION_STATUS kmp_get_cancellation_status
104 
105 #define FTN_GET_MAX_TASK_PRIORITY omp_get_max_task_priority
106 #define FTN_GET_NUM_PLACES omp_get_num_places
107 #define FTN_GET_PLACE_NUM_PROCS omp_get_place_num_procs
108 #define FTN_GET_PLACE_PROC_IDS omp_get_place_proc_ids
109 #define FTN_GET_PLACE_NUM omp_get_place_num
110 #define FTN_GET_PARTITION_NUM_PLACES omp_get_partition_num_places
111 #define FTN_GET_PARTITION_PLACE_NUMS omp_get_partition_place_nums
112 #define FTN_GET_INITIAL_DEVICE omp_get_initial_device
113 #ifdef KMP_STUB
114 #define FTN_TARGET_ALLOC omp_target_alloc
115 #define FTN_TARGET_FREE omp_target_free
116 #define FTN_TARGET_IS_PRESENT omp_target_is_present
117 #define FTN_TARGET_MEMCPY omp_target_memcpy
118 #define FTN_TARGET_MEMCPY_RECT omp_target_memcpy_rect
119 #define FTN_TARGET_MEMSET omp_target_memset
120 #define FTN_TARGET_MEMSET_ASYNC omp_target_memset_async
121 #define FTN_TARGET_ASSOCIATE_PTR omp_target_associate_ptr
122 #define FTN_TARGET_DISASSOCIATE_PTR omp_target_disassociate_ptr
123 #endif
124 
125 #define FTN_CONTROL_TOOL omp_control_tool
126 #define FTN_INIT_ALLOCATOR omp_init_allocator
127 #define FTN_DESTROY_ALLOCATOR omp_destroy_allocator
128 #define FTN_SET_DEFAULT_ALLOCATOR omp_set_default_allocator
129 #define FTN_GET_DEFAULT_ALLOCATOR omp_get_default_allocator
130 #define FTN_GET_DEVICES_MEMSPACE omp_get_devices_memspace
131 #define FTN_GET_DEVICE_MEMSPACE omp_get_device_memspace
132 #define FTN_GET_DEVICES_AND_HOST_MEMSPACE omp_get_devices_and_host_memspace
133 #define FTN_GET_DEVICE_AND_HOST_MEMSPACE omp_get_device_and_host_memspace
134 #define FTN_GET_DEVICES_ALL_MEMSPACE omp_get_devices_all_memspace
135 #define FTN_GET_DEVICES_ALLOCATOR omp_get_devices_allocator
136 #define FTN_GET_DEVICE_ALLOCATOR omp_get_device_allocator
137 #define FTN_GET_DEVICES_AND_HOST_ALLOCATOR omp_get_devices_and_host_allocator
138 #define FTN_GET_DEVICE_AND_HOST_ALLOCATOR omp_get_device_and_host_allocator
139 #define FTN_GET_DEVICES_ALL_ALLOCATOR omp_get_devices_all_allocator
140 #define FTN_GET_MEMSPACE_NUM_RESOURCES omp_get_memspace_num_resources
141 #define FTN_GET_SUBMEMSPACE omp_get_submemspace
142 #define FTN_GET_DEVICE_NUM omp_get_device_num
143 #define FTN_GET_UID_FROM_DEVICE omp_get_uid_from_device
144 #define FTN_GET_DEVICE_FROM_UID omp_get_device_from_uid
145 #define FTN_SET_AFFINITY_FORMAT omp_set_affinity_format
146 #define FTN_GET_AFFINITY_FORMAT omp_get_affinity_format
147 #define FTN_DISPLAY_AFFINITY omp_display_affinity
148 #define FTN_CAPTURE_AFFINITY omp_capture_affinity
149 #define FTN_PAUSE_RESOURCE omp_pause_resource
150 #define FTN_PAUSE_RESOURCE_ALL omp_pause_resource_all
151 #define FTN_GET_SUPPORTED_ACTIVE_LEVELS omp_get_supported_active_levels
152 #define FTN_DISPLAY_ENV omp_display_env
153 #define FTN_IN_EXPLICIT_TASK omp_in_explicit_task
154 #define FTN_FULFILL_EVENT omp_fulfill_event
155 #define FTN_SET_NUM_TEAMS omp_set_num_teams
156 #define FTN_GET_MAX_TEAMS omp_get_max_teams
157 #define FTN_SET_TEAMS_THREAD_LIMIT omp_set_teams_thread_limit
158 #define FTN_GET_TEAMS_THREAD_LIMIT omp_get_teams_thread_limit
159 
160 #define FTN_GET_NUM_INTEROP_PROPERTIES omp_get_num_interop_properties
161 #define FTN_GET_INTEROP_INT omp_get_interop_int
162 #define FTN_GET_INTEROP_PTR omp_get_interop_ptr
163 #define FTN_GET_INTEROP_STR omp_get_interop_str
164 #define FTN_GET_INTEROP_NAME omp_get_interop_name
165 #define FTN_GET_INTEROP_TYPE_DESC omp_get_interop_type_desc
166 #define FTN_GET_INTEROP_RC_DESC omp_get_interop_rc_desc
167 
168 #endif /* KMP_FTN_PLAIN */
169 
170 /* ------------------------------------------------------------------------ */
171 
172 #if KMP_FTN_ENTRIES == KMP_FTN_APPEND
173 
174 #define FTN_SET_STACKSIZE kmp_set_stacksize_
175 #define FTN_SET_STACKSIZE_S kmp_set_stacksize_s_
176 #define FTN_GET_STACKSIZE kmp_get_stacksize_
177 #define FTN_GET_STACKSIZE_S kmp_get_stacksize_s_
178 #define FTN_SET_BLOCKTIME kmp_set_blocktime_
179 #define FTN_GET_BLOCKTIME kmp_get_blocktime_
180 #define FTN_SET_LIBRARY_SERIAL kmp_set_library_serial_
181 #define FTN_SET_LIBRARY_TURNAROUND kmp_set_library_turnaround_
182 #define FTN_SET_LIBRARY_THROUGHPUT kmp_set_library_throughput_
183 #define FTN_SET_LIBRARY kmp_set_library_
184 #define FTN_GET_LIBRARY kmp_get_library_
185 #define FTN_SET_DEFAULTS kmp_set_defaults_
186 #define FTN_SET_DISP_NUM_BUFFERS kmp_set_disp_num_buffers_
187 #define FTN_SET_AFFINITY kmp_set_affinity_
188 #define FTN_GET_AFFINITY kmp_get_affinity_
189 #define FTN_GET_AFFINITY_MAX_PROC kmp_get_affinity_max_proc_
190 #define FTN_CREATE_AFFINITY_MASK kmp_create_affinity_mask_
191 #define FTN_DESTROY_AFFINITY_MASK kmp_destroy_affinity_mask_
192 #define FTN_SET_AFFINITY_MASK_PROC kmp_set_affinity_mask_proc_
193 #define FTN_UNSET_AFFINITY_MASK_PROC kmp_unset_affinity_mask_proc_
194 #define FTN_GET_AFFINITY_MASK_PROC kmp_get_affinity_mask_proc_
195 
196 #define FTN_MALLOC kmp_malloc_
197 #define FTN_ALIGNED_MALLOC kmp_aligned_malloc_
198 #define FTN_CALLOC kmp_calloc_
199 #define FTN_REALLOC kmp_realloc_
200 #define FTN_KFREE kmp_free_
201 
202 #define FTN_GET_NUM_KNOWN_THREADS kmp_get_num_known_threads_
203 
204 #define FTN_SET_NUM_THREADS omp_set_num_threads_
205 #define FTN_GET_NUM_THREADS omp_get_num_threads_
206 #define FTN_GET_MAX_THREADS omp_get_max_threads_
207 #define FTN_GET_THREAD_NUM omp_get_thread_num_
208 #define FTN_GET_NUM_PROCS omp_get_num_procs_
209 #define FTN_SET_DYNAMIC omp_set_dynamic_
210 #define FTN_GET_DYNAMIC omp_get_dynamic_
211 #define FTN_SET_NESTED omp_set_nested_
212 #define FTN_GET_NESTED omp_get_nested_
213 #define FTN_IN_PARALLEL omp_in_parallel_
214 #define FTN_GET_THREAD_LIMIT omp_get_thread_limit_
215 #define FTN_SET_SCHEDULE omp_set_schedule_
216 #define FTN_GET_SCHEDULE omp_get_schedule_
217 #define FTN_SET_MAX_ACTIVE_LEVELS omp_set_max_active_levels_
218 #define FTN_GET_MAX_ACTIVE_LEVELS omp_get_max_active_levels_
219 #define FTN_GET_ACTIVE_LEVEL omp_get_active_level_
220 #define FTN_GET_LEVEL omp_get_level_
221 #define FTN_GET_ANCESTOR_THREAD_NUM omp_get_ancestor_thread_num_
222 #define FTN_GET_TEAM_SIZE omp_get_team_size_
223 #define FTN_IN_FINAL omp_in_final_
224 #define FTN_GET_PROC_BIND omp_get_proc_bind_
225 #define FTN_GET_NUM_TEAMS omp_get_num_teams_
226 #define FTN_GET_TEAM_NUM omp_get_team_num_
227 #define FTN_INIT_LOCK omp_init_lock_
228 #if KMP_USE_DYNAMIC_LOCK
229 #define FTN_INIT_LOCK_WITH_HINT omp_init_lock_with_hint_
230 #define FTN_INIT_NEST_LOCK_WITH_HINT omp_init_nest_lock_with_hint_
231 #endif
232 #define FTN_DESTROY_LOCK omp_destroy_lock_
233 #define FTN_SET_LOCK omp_set_lock_
234 #define FTN_UNSET_LOCK omp_unset_lock_
235 #define FTN_TEST_LOCK omp_test_lock_
236 #define FTN_INIT_NEST_LOCK omp_init_nest_lock_
237 #define FTN_DESTROY_NEST_LOCK omp_destroy_nest_lock_
238 #define FTN_SET_NEST_LOCK omp_set_nest_lock_
239 #define FTN_UNSET_NEST_LOCK omp_unset_nest_lock_
240 #define FTN_TEST_NEST_LOCK omp_test_nest_lock_
241 
242 #define FTN_SET_WARNINGS_ON kmp_set_warnings_on_
243 #define FTN_SET_WARNINGS_OFF kmp_set_warnings_off_
244 
245 #define FTN_GET_WTIME omp_get_wtime_
246 #define FTN_GET_WTICK omp_get_wtick_
247 
248 #define FTN_GET_NUM_DEVICES omp_get_num_devices_
249 #define FTN_GET_DEFAULT_DEVICE omp_get_default_device_
250 #define FTN_SET_DEFAULT_DEVICE omp_set_default_device_
251 #define FTN_IS_INITIAL_DEVICE omp_is_initial_device_
252 
253 #define FTN_GET_CANCELLATION omp_get_cancellation_
254 #define FTN_GET_CANCELLATION_STATUS kmp_get_cancellation_status_
255 
256 #define FTN_GET_MAX_TASK_PRIORITY omp_get_max_task_priority_
257 #define FTN_GET_NUM_PLACES omp_get_num_places_
258 #define FTN_GET_PLACE_NUM_PROCS omp_get_place_num_procs_
259 #define FTN_GET_PLACE_PROC_IDS omp_get_place_proc_ids_
260 #define FTN_GET_PLACE_NUM omp_get_place_num_
261 #define FTN_GET_PARTITION_NUM_PLACES omp_get_partition_num_places_
262 #define FTN_GET_PARTITION_PLACE_NUMS omp_get_partition_place_nums_
263 #define FTN_GET_INITIAL_DEVICE omp_get_initial_device_
264 #ifdef KMP_STUB
265 #define FTN_TARGET_ALLOC omp_target_alloc_
266 #define FTN_TARGET_FREE omp_target_free_
267 #define FTN_TARGET_IS_PRESENT omp_target_is_present_
268 #define FTN_TARGET_MEMCPY omp_target_memcpy_
269 #define FTN_TARGET_MEMCPY_RECT omp_target_memcpy_rect_
270 #define FTN_TARGET_ASSOCIATE_PTR omp_target_associate_ptr_
271 #define FTN_TARGET_DISASSOCIATE_PTR omp_target_disassociate_ptr_
272 #endif
273 
274 #define FTN_CONTROL_TOOL omp_control_tool_
275 #define FTN_INIT_ALLOCATOR omp_init_allocator_
276 #define FTN_DESTROY_ALLOCATOR omp_destroy_allocator_
277 #define FTN_SET_DEFAULT_ALLOCATOR omp_set_default_allocator_
278 #define FTN_GET_DEFAULT_ALLOCATOR omp_get_default_allocator_
279 #define FTN_GET_DEVICES_MEMSPACE omp_get_devices_memspace_
280 #define FTN_GET_DEVICE_MEMSPACE omp_get_device_memspace_
281 #define FTN_GET_DEVICES_AND_HOST_MEMSPACE omp_get_devices_and_host_memspace_
282 #define FTN_GET_DEVICE_AND_HOST_MEMSPACE omp_get_device_and_host_memspace_
283 #define FTN_GET_DEVICES_ALL_MEMSPACE omp_get_devices_all_memspace_
284 #define FTN_GET_DEVICES_ALLOCATOR omp_get_devices_allocator_
285 #define FTN_GET_DEVICE_ALLOCATOR omp_get_device_allocator_
286 #define FTN_GET_DEVICES_AND_HOST_ALLOCATOR omp_get_devices_and_host_allocator_
287 #define FTN_GET_DEVICE_AND_HOST_ALLOCATOR omp_get_device_and_host_allocator_
288 #define FTN_GET_DEVICES_ALL_ALLOCATOR omp_get_devices_all_allocator_
289 #define FTN_GET_MEMSPACE_NUM_RESOURCES omp_get_memspace_num_resources_
290 #define FTN_GET_SUBMEMSPACE omp_get_submemspace_
291 #define FTN_ALLOC omp_alloc_
292 #define FTN_FREE omp_free_
293 #define FTN_GET_DEVICE_NUM omp_get_device_num_
294 #define FTN_GET_UID_FROM_DEVICE omp_get_uid_from_device_
295 #define FTN_GET_DEVICE_FROM_UID omp_get_device_from_uid_
296 #define FTN_SET_AFFINITY_FORMAT omp_set_affinity_format_
297 #define FTN_GET_AFFINITY_FORMAT omp_get_affinity_format_
298 #define FTN_DISPLAY_AFFINITY omp_display_affinity_
299 #define FTN_CAPTURE_AFFINITY omp_capture_affinity_
300 #define FTN_PAUSE_RESOURCE omp_pause_resource_
301 #define FTN_PAUSE_RESOURCE_ALL omp_pause_resource_all_
302 #define FTN_GET_SUPPORTED_ACTIVE_LEVELS omp_get_supported_active_levels_
303 #define FTN_DISPLAY_ENV omp_display_env_
304 #define FTN_IN_EXPLICIT_TASK omp_in_explicit_task_
305 #define FTN_FULFILL_EVENT omp_fulfill_event_
306 #define FTN_SET_NUM_TEAMS omp_set_num_teams_
307 #define FTN_GET_MAX_TEAMS omp_get_max_teams_
308 #define FTN_SET_TEAMS_THREAD_LIMIT omp_set_teams_thread_limit_
309 #define FTN_GET_TEAMS_THREAD_LIMIT omp_get_teams_thread_limit_
310 
311 #define FTN_GET_NUM_INTEROP_PROPERTIES omp_get_num_interop_properties_
312 #define FTN_GET_INTEROP_INT omp_get_interop_int_
313 #define FTN_GET_INTEROP_PTR omp_get_interop_ptr_
314 #define FTN_GET_INTEROP_STR omp_get_interop_str_
315 #define FTN_GET_INTEROP_NAME omp_get_interop_name_
316 #define FTN_GET_INTEROP_TYPE_DESC omp_get_interop_type_desc_
317 #define FTN_GET_INTEROP_RC_DESC omp_get_interop_rc_desc_
318 
319 #endif /* KMP_FTN_APPEND */
320 
321 /* ------------------------------------------------------------------------ */
322 
323 #if KMP_FTN_ENTRIES == KMP_FTN_UPPER
324 
325 #define FTN_SET_STACKSIZE KMP_SET_STACKSIZE
326 #define FTN_SET_STACKSIZE_S KMP_SET_STACKSIZE_S
327 #define FTN_GET_STACKSIZE KMP_GET_STACKSIZE
328 #define FTN_GET_STACKSIZE_S KMP_GET_STACKSIZE_S
329 #define FTN_SET_BLOCKTIME KMP_SET_BLOCKTIME
330 #define FTN_GET_BLOCKTIME KMP_GET_BLOCKTIME
331 #define FTN_SET_LIBRARY_SERIAL KMP_SET_LIBRARY_SERIAL
332 #define FTN_SET_LIBRARY_TURNAROUND KMP_SET_LIBRARY_TURNAROUND
333 #define FTN_SET_LIBRARY_THROUGHPUT KMP_SET_LIBRARY_THROUGHPUT
334 #define FTN_SET_LIBRARY KMP_SET_LIBRARY
335 #define FTN_GET_LIBRARY KMP_GET_LIBRARY
336 #define FTN_SET_DEFAULTS KMP_SET_DEFAULTS
337 #define FTN_SET_DISP_NUM_BUFFERS KMP_SET_DISP_NUM_BUFFERS
338 #define FTN_SET_AFFINITY KMP_SET_AFFINITY
339 #define FTN_GET_AFFINITY KMP_GET_AFFINITY
340 #define FTN_GET_AFFINITY_MAX_PROC KMP_GET_AFFINITY_MAX_PROC
341 #define FTN_CREATE_AFFINITY_MASK KMP_CREATE_AFFINITY_MASK
342 #define FTN_DESTROY_AFFINITY_MASK KMP_DESTROY_AFFINITY_MASK
343 #define FTN_SET_AFFINITY_MASK_PROC KMP_SET_AFFINITY_MASK_PROC
344 #define FTN_UNSET_AFFINITY_MASK_PROC KMP_UNSET_AFFINITY_MASK_PROC
345 #define FTN_GET_AFFINITY_MASK_PROC KMP_GET_AFFINITY_MASK_PROC
346 
347 #define FTN_MALLOC KMP_MALLOC
348 #define FTN_ALIGNED_MALLOC KMP_ALIGNED_MALLOC
349 #define FTN_CALLOC KMP_CALLOC
350 #define FTN_REALLOC KMP_REALLOC
351 #define FTN_KFREE KMP_FREE
352 
353 #define FTN_GET_NUM_KNOWN_THREADS KMP_GET_NUM_KNOWN_THREADS
354 
355 #define FTN_SET_NUM_THREADS OMP_SET_NUM_THREADS
356 #define FTN_GET_NUM_THREADS OMP_GET_NUM_THREADS
357 #define FTN_GET_MAX_THREADS OMP_GET_MAX_THREADS
358 #define FTN_GET_THREAD_NUM OMP_GET_THREAD_NUM
359 #define FTN_GET_NUM_PROCS OMP_GET_NUM_PROCS
360 #define FTN_SET_DYNAMIC OMP_SET_DYNAMIC
361 #define FTN_GET_DYNAMIC OMP_GET_DYNAMIC
362 #define FTN_SET_NESTED OMP_SET_NESTED
363 #define FTN_GET_NESTED OMP_GET_NESTED
364 #define FTN_IN_PARALLEL OMP_IN_PARALLEL
365 #define FTN_GET_THREAD_LIMIT OMP_GET_THREAD_LIMIT
366 #define FTN_SET_SCHEDULE OMP_SET_SCHEDULE
367 #define FTN_GET_SCHEDULE OMP_GET_SCHEDULE
368 #define FTN_SET_MAX_ACTIVE_LEVELS OMP_SET_MAX_ACTIVE_LEVELS
369 #define FTN_GET_MAX_ACTIVE_LEVELS OMP_GET_MAX_ACTIVE_LEVELS
370 #define FTN_GET_ACTIVE_LEVEL OMP_GET_ACTIVE_LEVEL
371 #define FTN_GET_LEVEL OMP_GET_LEVEL
372 #define FTN_GET_ANCESTOR_THREAD_NUM OMP_GET_ANCESTOR_THREAD_NUM
373 #define FTN_GET_TEAM_SIZE OMP_GET_TEAM_SIZE
374 #define FTN_IN_FINAL OMP_IN_FINAL
375 #define FTN_GET_PROC_BIND OMP_GET_PROC_BIND
376 #define FTN_GET_NUM_TEAMS OMP_GET_NUM_TEAMS
377 #define FTN_GET_TEAM_NUM OMP_GET_TEAM_NUM
378 #define FTN_INIT_LOCK OMP_INIT_LOCK
379 #if KMP_USE_DYNAMIC_LOCK
380 #define FTN_INIT_LOCK_WITH_HINT OMP_INIT_LOCK_WITH_HINT
381 #define FTN_INIT_NEST_LOCK_WITH_HINT OMP_INIT_NEST_LOCK_WITH_HINT
382 #endif
383 #define FTN_DESTROY_LOCK OMP_DESTROY_LOCK
384 #define FTN_SET_LOCK OMP_SET_LOCK
385 #define FTN_UNSET_LOCK OMP_UNSET_LOCK
386 #define FTN_TEST_LOCK OMP_TEST_LOCK
387 #define FTN_INIT_NEST_LOCK OMP_INIT_NEST_LOCK
388 #define FTN_DESTROY_NEST_LOCK OMP_DESTROY_NEST_LOCK
389 #define FTN_SET_NEST_LOCK OMP_SET_NEST_LOCK
390 #define FTN_UNSET_NEST_LOCK OMP_UNSET_NEST_LOCK
391 #define FTN_TEST_NEST_LOCK OMP_TEST_NEST_LOCK
392 
393 #define FTN_SET_WARNINGS_ON KMP_SET_WARNINGS_ON
394 #define FTN_SET_WARNINGS_OFF KMP_SET_WARNINGS_OFF
395 
396 #define FTN_GET_WTIME OMP_GET_WTIME
397 #define FTN_GET_WTICK OMP_GET_WTICK
398 
399 #define FTN_GET_NUM_DEVICES OMP_GET_NUM_DEVICES
400 #define FTN_GET_DEFAULT_DEVICE OMP_GET_DEFAULT_DEVICE
401 #define FTN_SET_DEFAULT_DEVICE OMP_SET_DEFAULT_DEVICE
402 #define FTN_IS_INITIAL_DEVICE OMP_IS_INITIAL_DEVICE
403 
404 #define FTN_GET_CANCELLATION OMP_GET_CANCELLATION
405 #define FTN_GET_CANCELLATION_STATUS KMP_GET_CANCELLATION_STATUS
406 
407 #define FTN_GET_MAX_TASK_PRIORITY OMP_GET_MAX_TASK_PRIORITY
408 #define FTN_GET_NUM_PLACES OMP_GET_NUM_PLACES
409 #define FTN_GET_PLACE_NUM_PROCS OMP_GET_PLACE_NUM_PROCS
410 #define FTN_GET_PLACE_PROC_IDS OMP_GET_PLACE_PROC_IDS
411 #define FTN_GET_PLACE_NUM OMP_GET_PLACE_NUM
412 #define FTN_GET_PARTITION_NUM_PLACES OMP_GET_PARTITION_NUM_PLACES
413 #define FTN_GET_PARTITION_PLACE_NUMS OMP_GET_PARTITION_PLACE_NUMS
414 #define FTN_GET_INITIAL_DEVICE OMP_GET_INITIAL_DEVICE
415 #ifdef KMP_STUB
416 #define FTN_TARGET_ALLOC OMP_TARGET_ALLOC
417 #define FTN_TARGET_FREE OMP_TARGET_FREE
418 #define FTN_TARGET_IS_PRESENT OMP_TARGET_IS_PRESENT
419 #define FTN_TARGET_MEMCPY OMP_TARGET_MEMCPY
420 #define FTN_TARGET_MEMCPY_RECT OMP_TARGET_MEMCPY_RECT
421 #define FTN_TARGET_ASSOCIATE_PTR OMP_TARGET_ASSOCIATE_PTR
422 #define FTN_TARGET_DISASSOCIATE_PTR OMP_TARGET_DISASSOCIATE_PTR
423 #endif
424 
425 #define FTN_CONTROL_TOOL OMP_CONTROL_TOOL
426 #define FTN_INIT_ALLOCATOR OMP_INIT_ALLOCATOR
427 #define FTN_DESTROY_ALLOCATOR OMP_DESTROY_ALLOCATOR
428 #define FTN_SET_DEFAULT_ALLOCATOR OMP_SET_DEFAULT_ALLOCATOR
429 #define FTN_GET_DEFAULT_ALLOCATOR OMP_GET_DEFAULT_ALLOCATOR
430 #define FTN_GET_DEVICES_MEMSPACE OMP_GET_DEVICES_MEMSPACE
431 #define FTN_GET_DEVICE_MEMSPACE OMP_GET_DEVICE_MEMSPACE
432 #define FTN_GET_DEVICES_AND_HOST_MEMSPACE OMP_GET_DEVICES_AND_HOST_MEMSPACE
433 #define FTN_GET_DEVICE_AND_HOST_MEMSPACE OMP_GET_DEVICE_AND_HOST_MEMSPACE
434 #define FTN_GET_DEVICES_ALL_MEMSPACE OMP_GET_DEVICES_ALL_MEMSPACE
435 #define FTN_GET_DEVICES_ALLOCATOR OMP_GET_DEVICES_ALLOCATOR
436 #define FTN_GET_DEVICE_ALLOCATOR OMP_GET_DEVICE_ALLOCATOR
437 #define FTN_GET_DEVICES_AND_HOST_ALLOCATOR OMP_GET_DEVICES_AND_HOST_ALLOCATOR
438 #define FTN_GET_DEVICE_AND_HOST_ALLOCATOR OMP_GET_DEVICE_AND_HOST_ALLOCATOR
439 #define FTN_GET_DEVICES_ALL_ALLOCATOR OMP_GET_DEVICES_ALL_ALLOCATOR
440 #define FTN_GET_MEMSPACE_NUM_RESOURCES OMP_GET_MEMSPACE_NUM_RESOURCES
441 #define FTN_GET_SUBMEMSPACE OMP_GET_SUBMEMSPACE
442 #define FTN_GET_DEVICE_NUM OMP_GET_DEVICE_NUM
443 #define FTN_GET_UID_FROM_DEVICE OMP_GET_UID_FROM_DEVICE
444 #define FTN_GET_DEVICE_FROM_UID OMP_GET_DEVICE_FROM_UID
445 #define FTN_SET_AFFINITY_FORMAT OMP_SET_AFFINITY_FORMAT
446 #define FTN_GET_AFFINITY_FORMAT OMP_GET_AFFINITY_FORMAT
447 #define FTN_DISPLAY_AFFINITY OMP_DISPLAY_AFFINITY
448 #define FTN_CAPTURE_AFFINITY OMP_CAPTURE_AFFINITY
449 #define FTN_PAUSE_RESOURCE OMP_PAUSE_RESOURCE
450 #define FTN_PAUSE_RESOURCE_ALL OMP_PAUSE_RESOURCE_ALL
451 #define FTN_GET_SUPPORTED_ACTIVE_LEVELS OMP_GET_SUPPORTED_ACTIVE_LEVELS
452 #define FTN_DISPLAY_ENV OMP_DISPLAY_ENV
453 #define FTN_IN_EXPLICIT_TASK OMP_IN_EXPLICIT_TASK
454 #define FTN_FULFILL_EVENT OMP_FULFILL_EVENT
455 #define FTN_SET_NUM_TEAMS OMP_SET_NUM_TEAMS
456 #define FTN_GET_MAX_TEAMS OMP_GET_MAX_TEAMS
457 #define FTN_SET_TEAMS_THREAD_LIMIT OMP_SET_TEAMS_THREAD_LIMIT
458 #define FTN_GET_TEAMS_THREAD_LIMIT OMP_GET_TEAMS_THREAD_LIMIT
459 
460 #define FTN_GET_NUM_INTEROP_PROPERTIES OMP_GET_NUM_INTEROP_PROPERTIES
461 #define FTN_GET_INTEROP_INT OMP_GET_INTEROP_INT
462 #define FTN_GET_INTEROP_PTR OMP_GET_INTEROP_PTR
463 #define FTN_GET_INTEROP_STR OMP_GET_INTEROP_STR
464 #define FTN_GET_INTEROP_NAME OMP_GET_INTEROP_NAME
465 #define FTN_GET_INTEROP_TYPE_DESC OMP_GET_INTEROP_TYPE_DESC
466 #define FTN_GET_INTEROP_RC_DESC OMP_GET_INTEROP_RC_DESC
467 
468 #endif /* KMP_FTN_UPPER */
469 
470 /* ------------------------------------------------------------------------ */
471 
472 #if KMP_FTN_ENTRIES == KMP_FTN_UAPPEND
473 
474 #define FTN_SET_STACKSIZE KMP_SET_STACKSIZE_
475 #define FTN_SET_STACKSIZE_S KMP_SET_STACKSIZE_S_
476 #define FTN_GET_STACKSIZE KMP_GET_STACKSIZE_
477 #define FTN_GET_STACKSIZE_S KMP_GET_STACKSIZE_S_
478 #define FTN_SET_BLOCKTIME KMP_SET_BLOCKTIME_
479 #define FTN_GET_BLOCKTIME KMP_GET_BLOCKTIME_
480 #define FTN_SET_LIBRARY_SERIAL KMP_SET_LIBRARY_SERIAL_
481 #define FTN_SET_LIBRARY_TURNAROUND KMP_SET_LIBRARY_TURNAROUND_
482 #define FTN_SET_LIBRARY_THROUGHPUT KMP_SET_LIBRARY_THROUGHPUT_
483 #define FTN_SET_LIBRARY KMP_SET_LIBRARY_
484 #define FTN_GET_LIBRARY KMP_GET_LIBRARY_
485 #define FTN_SET_DEFAULTS KMP_SET_DEFAULTS_
486 #define FTN_SET_DISP_NUM_BUFFERS KMP_SET_DISP_NUM_BUFFERS_
487 #define FTN_SET_AFFINITY KMP_SET_AFFINITY_
488 #define FTN_GET_AFFINITY KMP_GET_AFFINITY_
489 #define FTN_GET_AFFINITY_MAX_PROC KMP_GET_AFFINITY_MAX_PROC_
490 #define FTN_CREATE_AFFINITY_MASK KMP_CREATE_AFFINITY_MASK_
491 #define FTN_DESTROY_AFFINITY_MASK KMP_DESTROY_AFFINITY_MASK_
492 #define FTN_SET_AFFINITY_MASK_PROC KMP_SET_AFFINITY_MASK_PROC_
493 #define FTN_UNSET_AFFINITY_MASK_PROC KMP_UNSET_AFFINITY_MASK_PROC_
494 #define FTN_GET_AFFINITY_MASK_PROC KMP_GET_AFFINITY_MASK_PROC_
495 
496 #define FTN_MALLOC KMP_MALLOC_
497 #define FTN_ALIGNED_MALLOC KMP_ALIGNED_MALLOC_
498 #define FTN_CALLOC KMP_CALLOC_
499 #define FTN_REALLOC KMP_REALLOC_
500 #define FTN_KFREE KMP_FREE_
501 
502 #define FTN_GET_NUM_KNOWN_THREADS KMP_GET_NUM_KNOWN_THREADS_
503 
504 #define FTN_SET_NUM_THREADS OMP_SET_NUM_THREADS_
505 #define FTN_GET_NUM_THREADS OMP_GET_NUM_THREADS_
506 #define FTN_GET_MAX_THREADS OMP_GET_MAX_THREADS_
507 #define FTN_GET_THREAD_NUM OMP_GET_THREAD_NUM_
508 #define FTN_GET_NUM_PROCS OMP_GET_NUM_PROCS_
509 #define FTN_SET_DYNAMIC OMP_SET_DYNAMIC_
510 #define FTN_GET_DYNAMIC OMP_GET_DYNAMIC_
511 #define FTN_SET_NESTED OMP_SET_NESTED_
512 #define FTN_GET_NESTED OMP_GET_NESTED_
513 #define FTN_IN_PARALLEL OMP_IN_PARALLEL_
514 #define FTN_GET_THREAD_LIMIT OMP_GET_THREAD_LIMIT_
515 #define FTN_SET_SCHEDULE OMP_SET_SCHEDULE_
516 #define FTN_GET_SCHEDULE OMP_GET_SCHEDULE_
517 #define FTN_SET_MAX_ACTIVE_LEVELS OMP_SET_MAX_ACTIVE_LEVELS_
518 #define FTN_GET_MAX_ACTIVE_LEVELS OMP_GET_MAX_ACTIVE_LEVELS_
519 #define FTN_GET_ACTIVE_LEVEL OMP_GET_ACTIVE_LEVEL_
520 #define FTN_GET_LEVEL OMP_GET_LEVEL_
521 #define FTN_GET_ANCESTOR_THREAD_NUM OMP_GET_ANCESTOR_THREAD_NUM_
522 #define FTN_GET_TEAM_SIZE OMP_GET_TEAM_SIZE_
523 #define FTN_IN_FINAL OMP_IN_FINAL_
524 #define FTN_GET_PROC_BIND OMP_GET_PROC_BIND_
525 #define FTN_GET_NUM_TEAMS OMP_GET_NUM_TEAMS_
526 #define FTN_GET_TEAM_NUM OMP_GET_TEAM_NUM_
527 #define FTN_INIT_LOCK OMP_INIT_LOCK_
528 #if KMP_USE_DYNAMIC_LOCK
529 #define FTN_INIT_LOCK_WITH_HINT OMP_INIT_LOCK_WITH_HINT_
530 #define FTN_INIT_NEST_LOCK_WITH_HINT OMP_INIT_NEST_LOCK_WITH_HINT_
531 #endif
532 #define FTN_DESTROY_LOCK OMP_DESTROY_LOCK_
533 #define FTN_SET_LOCK OMP_SET_LOCK_
534 #define FTN_UNSET_LOCK OMP_UNSET_LOCK_
535 #define FTN_TEST_LOCK OMP_TEST_LOCK_
536 #define FTN_INIT_NEST_LOCK OMP_INIT_NEST_LOCK_
537 #define FTN_DESTROY_NEST_LOCK OMP_DESTROY_NEST_LOCK_
538 #define FTN_SET_NEST_LOCK OMP_SET_NEST_LOCK_
539 #define FTN_UNSET_NEST_LOCK OMP_UNSET_NEST_LOCK_
540 #define FTN_TEST_NEST_LOCK OMP_TEST_NEST_LOCK_
541 
542 #define FTN_SET_WARNINGS_ON KMP_SET_WARNINGS_ON_
543 #define FTN_SET_WARNINGS_OFF KMP_SET_WARNINGS_OFF_
544 
545 #define FTN_GET_WTIME OMP_GET_WTIME_
546 #define FTN_GET_WTICK OMP_GET_WTICK_
547 
548 #define FTN_GET_NUM_DEVICES OMP_GET_NUM_DEVICES_
549 #define FTN_GET_DEFAULT_DEVICE OMP_GET_DEFAULT_DEVICE_
550 #define FTN_SET_DEFAULT_DEVICE OMP_SET_DEFAULT_DEVICE_
551 #define FTN_IS_INITIAL_DEVICE OMP_IS_INITIAL_DEVICE_
552 
553 #define FTN_GET_CANCELLATION OMP_GET_CANCELLATION_
554 #define FTN_GET_CANCELLATION_STATUS KMP_GET_CANCELLATION_STATUS_
555 
556 #define FTN_GET_MAX_TASK_PRIORITY OMP_GET_MAX_TASK_PRIORITY_
557 #define FTN_GET_NUM_PLACES OMP_GET_NUM_PLACES_
558 #define FTN_GET_PLACE_NUM_PROCS OMP_GET_PLACE_NUM_PROCS_
559 #define FTN_GET_PLACE_PROC_IDS OMP_GET_PLACE_PROC_IDS_
560 #define FTN_GET_PLACE_NUM OMP_GET_PLACE_NUM_
561 #define FTN_GET_PARTITION_NUM_PLACES OMP_GET_PARTITION_NUM_PLACES_
562 #define FTN_GET_PARTITION_PLACE_NUMS OMP_GET_PARTITION_PLACE_NUMS_
563 #define FTN_GET_INITIAL_DEVICE OMP_GET_INITIAL_DEVICE_
564 #ifdef KMP_STUB
565 #define FTN_TARGET_ALLOC OMP_TARGET_ALLOC_
566 #define FTN_TARGET_FREE OMP_TARGET_FREE_
567 #define FTN_TARGET_IS_PRESENT OMP_TARGET_IS_PRESENT_
568 #define FTN_TARGET_MEMCPY OMP_TARGET_MEMCPY_
569 #define FTN_TARGET_MEMCPY_RECT OMP_TARGET_MEMCPY_RECT_
570 #define FTN_TARGET_ASSOCIATE_PTR OMP_TARGET_ASSOCIATE_PTR_
571 #define FTN_TARGET_DISASSOCIATE_PTR OMP_TARGET_DISASSOCIATE_PTR_
572 #endif
573 
574 #define FTN_CONTROL_TOOL OMP_CONTROL_TOOL_
575 #define FTN_INIT_ALLOCATOR OMP_INIT_ALLOCATOR_
576 #define FTN_DESTROY_ALLOCATOR OMP_DESTROY_ALLOCATOR_
577 #define FTN_SET_DEFAULT_ALLOCATOR OMP_SET_DEFAULT_ALLOCATOR_
578 #define FTN_GET_DEFAULT_ALLOCATOR OMP_GET_DEFAULT_ALLOCATOR_
579 #define FTN_GET_DEVICES_MEMSPACE OMP_GET_DEVICES_MEMSPACE_
580 #define FTN_GET_DEVICE_MEMSPACE OMP_GET_DEVICE_MEMSPACE_
581 #define FTN_GET_DEVICES_AND_HOST_MEMSPACE OMP_GET_DEVICES_AND_HOST_MEMSPACE_
582 #define FTN_GET_DEVICE_AND_HOST_MEMSPACE OMP_GET_DEVICE_AND_HOST_MEMSPACE_
583 #define FTN_GET_DEVICES_ALL_MEMSPACE OMP_GET_DEVICES_ALL_MEMSPACE_
584 #define FTN_GET_DEVICES_ALLOCATOR OMP_GET_DEVICES_ALLOCATOR_
585 #define FTN_GET_DEVICE_ALLOCATOR OMP_GET_DEVICE_ALLOCATOR_
586 #define FTN_GET_DEVICES_AND_HOST_ALLOCATOR OMP_GET_DEVICES_AND_HOST_ALLOCATOR_
587 #define FTN_GET_DEVICE_AND_HOST_ALLOCATOR OMP_GET_DEVICE_AND_HOST_ALLOCATOR_
588 #define FTN_GET_DEVICES_ALL_ALLOCATOR OMP_GET_DEVICES_ALL_ALLOCATOR_
589 #define FTN_GET_MEMSPACE_NUM_RESOURCES OMP_GET_MEMSPACE_NUM_RESOURCES_
590 #define FTN_GET_SUBMEMSPACE OMP_GET_SUBMEMSPACE_
591 #define FTN_ALLOC OMP_ALLOC_
592 #define FTN_FREE OMP_FREE_
593 #define FTN_GET_DEVICE_NUM OMP_GET_DEVICE_NUM_
594 #define FTN_GET_UID_FROM_DEVICE OMP_GET_UID_FROM_DEVICE_
595 #define FTN_GET_DEVICE_FROM_UID OMP_GET_DEVICE_FROM_UID_
596 #define FTN_SET_AFFINITY_FORMAT OMP_SET_AFFINITY_FORMAT_
597 #define FTN_GET_AFFINITY_FORMAT OMP_GET_AFFINITY_FORMAT_
598 #define FTN_DISPLAY_AFFINITY OMP_DISPLAY_AFFINITY_
599 #define FTN_CAPTURE_AFFINITY OMP_CAPTURE_AFFINITY_
600 #define FTN_PAUSE_RESOURCE OMP_PAUSE_RESOURCE_
601 #define FTN_PAUSE_RESOURCE_ALL OMP_PAUSE_RESOURCE_ALL_
602 #define FTN_GET_SUPPORTED_ACTIVE_LEVELS OMP_GET_SUPPORTED_ACTIVE_LEVELS_
603 #define FTN_DISPLAY_ENV OMP_DISPLAY_ENV_
604 #define FTN_IN_EXPLICIT_TASK OMP_IN_EXPLICIT_TASK_
605 #define FTN_FULFILL_EVENT OMP_FULFILL_EVENT_
606 #define FTN_SET_NUM_TEAMS OMP_SET_NUM_TEAMS_
607 #define FTN_GET_MAX_TEAMS OMP_GET_MAX_TEAMS_
608 #define FTN_SET_TEAMS_THREAD_LIMIT OMP_SET_TEAMS_THREAD_LIMIT_
609 #define FTN_GET_TEAMS_THREAD_LIMIT OMP_GET_TEAMS_THREAD_LIMIT_
610 
611 #define FTN_GET_NUM_INTEROP_PROPERTIES OMP_GET_NUM_INTEROP_PROPERTIES_
612 #define FTN_GET_INTEROP_INT OMP_GET_INTEROP_INT_
613 #define FTN_GET_INTEROP_PTR OMP_GET_INTEROP_PTR_
614 #define FTN_GET_INTEROP_STR OMP_GET_INTEROP_STR_
615 #define FTN_GET_INTEROP_NAME OMP_GET_INTEROP_NAME_
616 #define FTN_GET_INTEROP_TYPE_DESC OMP_GET_INTEROP_TYPE_DESC_
617 #define FTN_GET_INTEROP_RC_DESC OMP_GET_INTEROP_RC_DESC_
618 
619 #endif /* KMP_FTN_UAPPEND */
620 
621 /* -------------------------- GOMP API NAMES ------------------------ */
622 // All GOMP_1.0 symbols
623 #define KMP_API_NAME_GOMP_ATOMIC_END GOMP_atomic_end
624 #define KMP_API_NAME_GOMP_ATOMIC_START GOMP_atomic_start
625 #define KMP_API_NAME_GOMP_BARRIER GOMP_barrier
626 #define KMP_API_NAME_GOMP_CRITICAL_END GOMP_critical_end
627 #define KMP_API_NAME_GOMP_CRITICAL_NAME_END GOMP_critical_name_end
628 #define KMP_API_NAME_GOMP_CRITICAL_NAME_START GOMP_critical_name_start
629 #define KMP_API_NAME_GOMP_CRITICAL_START GOMP_critical_start
630 #define KMP_API_NAME_GOMP_LOOP_DYNAMIC_NEXT GOMP_loop_dynamic_next
631 #define KMP_API_NAME_GOMP_LOOP_DYNAMIC_START GOMP_loop_dynamic_start
632 #define KMP_API_NAME_GOMP_LOOP_END GOMP_loop_end
633 #define KMP_API_NAME_GOMP_LOOP_END_NOWAIT GOMP_loop_end_nowait
634 #define KMP_API_NAME_GOMP_LOOP_GUIDED_NEXT GOMP_loop_guided_next
635 #define KMP_API_NAME_GOMP_LOOP_GUIDED_START GOMP_loop_guided_start
636 #define KMP_API_NAME_GOMP_LOOP_ORDERED_DYNAMIC_NEXT \
637  GOMP_loop_ordered_dynamic_next
638 #define KMP_API_NAME_GOMP_LOOP_ORDERED_DYNAMIC_START \
639  GOMP_loop_ordered_dynamic_start
640 #define KMP_API_NAME_GOMP_LOOP_ORDERED_GUIDED_NEXT GOMP_loop_ordered_guided_next
641 #define KMP_API_NAME_GOMP_LOOP_ORDERED_GUIDED_START \
642  GOMP_loop_ordered_guided_start
643 #define KMP_API_NAME_GOMP_LOOP_ORDERED_RUNTIME_NEXT \
644  GOMP_loop_ordered_runtime_next
645 #define KMP_API_NAME_GOMP_LOOP_ORDERED_RUNTIME_START \
646  GOMP_loop_ordered_runtime_start
647 #define KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_NEXT GOMP_loop_ordered_static_next
648 #define KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_START \
649  GOMP_loop_ordered_static_start
650 #define KMP_API_NAME_GOMP_LOOP_RUNTIME_NEXT GOMP_loop_runtime_next
651 #define KMP_API_NAME_GOMP_LOOP_RUNTIME_START GOMP_loop_runtime_start
652 #define KMP_API_NAME_GOMP_LOOP_STATIC_NEXT GOMP_loop_static_next
653 #define KMP_API_NAME_GOMP_LOOP_STATIC_START GOMP_loop_static_start
654 #define KMP_API_NAME_GOMP_ORDERED_END GOMP_ordered_end
655 #define KMP_API_NAME_GOMP_ORDERED_START GOMP_ordered_start
656 #define KMP_API_NAME_GOMP_PARALLEL_END GOMP_parallel_end
657 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC_START \
658  GOMP_parallel_loop_dynamic_start
659 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED_START \
660  GOMP_parallel_loop_guided_start
661 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME_START \
662  GOMP_parallel_loop_runtime_start
663 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_STATIC_START \
664  GOMP_parallel_loop_static_start
665 #define KMP_API_NAME_GOMP_PARALLEL_SECTIONS_START GOMP_parallel_sections_start
666 #define KMP_API_NAME_GOMP_PARALLEL_START GOMP_parallel_start
667 #define KMP_API_NAME_GOMP_SECTIONS_END GOMP_sections_end
668 #define KMP_API_NAME_GOMP_SECTIONS_END_NOWAIT GOMP_sections_end_nowait
669 #define KMP_API_NAME_GOMP_SECTIONS_NEXT GOMP_sections_next
670 #define KMP_API_NAME_GOMP_SECTIONS_START GOMP_sections_start
671 #define KMP_API_NAME_GOMP_SINGLE_COPY_END GOMP_single_copy_end
672 #define KMP_API_NAME_GOMP_SINGLE_COPY_START GOMP_single_copy_start
673 #define KMP_API_NAME_GOMP_SINGLE_START GOMP_single_start
674 
675 // All GOMP_2.0 symbols
676 #define KMP_API_NAME_GOMP_TASK GOMP_task
677 #define KMP_API_NAME_GOMP_TASKWAIT GOMP_taskwait
678 #define KMP_API_NAME_GOMP_LOOP_ULL_DYNAMIC_NEXT GOMP_loop_ull_dynamic_next
679 #define KMP_API_NAME_GOMP_LOOP_ULL_DYNAMIC_START GOMP_loop_ull_dynamic_start
680 #define KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_NEXT GOMP_loop_ull_guided_next
681 #define KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_START GOMP_loop_ull_guided_start
682 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT \
683  GOMP_loop_ull_ordered_dynamic_next
684 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START \
685  GOMP_loop_ull_ordered_dynamic_start
686 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT \
687  GOMP_loop_ull_ordered_guided_next
688 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_GUIDED_START \
689  GOMP_loop_ull_ordered_guided_start
690 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT \
691  GOMP_loop_ull_ordered_runtime_next
692 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_RUNTIME_START \
693  GOMP_loop_ull_ordered_runtime_start
694 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT \
695  GOMP_loop_ull_ordered_static_next
696 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_START \
697  GOMP_loop_ull_ordered_static_start
698 #define KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_NEXT GOMP_loop_ull_runtime_next
699 #define KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_START GOMP_loop_ull_runtime_start
700 #define KMP_API_NAME_GOMP_LOOP_ULL_STATIC_NEXT GOMP_loop_ull_static_next
701 #define KMP_API_NAME_GOMP_LOOP_ULL_STATIC_START GOMP_loop_ull_static_start
702 
703 // All GOMP_3.0 symbols
704 #define KMP_API_NAME_GOMP_TASKYIELD GOMP_taskyield
705 
706 // All GOMP_4.0 symbols
707 #define KMP_API_NAME_GOMP_BARRIER_CANCEL GOMP_barrier_cancel
708 #define KMP_API_NAME_GOMP_CANCEL GOMP_cancel
709 #define KMP_API_NAME_GOMP_CANCELLATION_POINT GOMP_cancellation_point
710 #define KMP_API_NAME_GOMP_LOOP_END_CANCEL GOMP_loop_end_cancel
711 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC GOMP_parallel_loop_dynamic
712 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED GOMP_parallel_loop_guided
713 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME GOMP_parallel_loop_runtime
714 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_STATIC GOMP_parallel_loop_static
715 #define KMP_API_NAME_GOMP_PARALLEL_SECTIONS GOMP_parallel_sections
716 #define KMP_API_NAME_GOMP_PARALLEL GOMP_parallel
717 #define KMP_API_NAME_GOMP_SECTIONS_END_CANCEL GOMP_sections_end_cancel
718 #define KMP_API_NAME_GOMP_TASKGROUP_START GOMP_taskgroup_start
719 #define KMP_API_NAME_GOMP_TASKGROUP_END GOMP_taskgroup_end
720 /* Target functions should be taken care of by liboffload */
721 #define KMP_API_NAME_GOMP_TARGET GOMP_target
722 #define KMP_API_NAME_GOMP_TARGET_DATA GOMP_target_data
723 #define KMP_API_NAME_GOMP_TARGET_END_DATA GOMP_target_end_data
724 #define KMP_API_NAME_GOMP_TARGET_UPDATE GOMP_target_update
725 #define KMP_API_NAME_GOMP_TEAMS GOMP_teams
726 
727 // All GOMP_4.5 symbols
728 #define KMP_API_NAME_GOMP_TASKLOOP GOMP_taskloop
729 #define KMP_API_NAME_GOMP_TASKLOOP_ULL GOMP_taskloop_ull
730 #define KMP_API_NAME_GOMP_DOACROSS_POST GOMP_doacross_post
731 #define KMP_API_NAME_GOMP_DOACROSS_WAIT GOMP_doacross_wait
732 #define KMP_API_NAME_GOMP_LOOP_DOACROSS_STATIC_START \
733  GOMP_loop_doacross_static_start
734 #define KMP_API_NAME_GOMP_LOOP_DOACROSS_DYNAMIC_START \
735  GOMP_loop_doacross_dynamic_start
736 #define KMP_API_NAME_GOMP_LOOP_DOACROSS_GUIDED_START \
737  GOMP_loop_doacross_guided_start
738 #define KMP_API_NAME_GOMP_LOOP_DOACROSS_RUNTIME_START \
739  GOMP_loop_doacross_runtime_start
740 #define KMP_API_NAME_GOMP_DOACROSS_ULL_POST GOMP_doacross_ull_post
741 #define KMP_API_NAME_GOMP_DOACROSS_ULL_WAIT GOMP_doacross_ull_wait
742 #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_STATIC_START \
743  GOMP_loop_ull_doacross_static_start
744 #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START \
745  GOMP_loop_ull_doacross_dynamic_start
746 #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_GUIDED_START \
747  GOMP_loop_ull_doacross_guided_start
748 #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START \
749  GOMP_loop_ull_doacross_runtime_start
750 #define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT \
751  GOMP_loop_nonmonotonic_dynamic_next
752 #define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START \
753  GOMP_loop_nonmonotonic_dynamic_start
754 #define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT \
755  GOMP_loop_nonmonotonic_guided_next
756 #define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_GUIDED_START \
757  GOMP_loop_nonmonotonic_guided_start
758 #define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT \
759  GOMP_loop_ull_nonmonotonic_dynamic_next
760 #define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START \
761  GOMP_loop_ull_nonmonotonic_dynamic_start
762 #define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT \
763  GOMP_loop_ull_nonmonotonic_guided_next
764 #define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START \
765  GOMP_loop_ull_nonmonotonic_guided_start
766 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC \
767  GOMP_parallel_loop_nonmonotonic_dynamic
768 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED \
769  GOMP_parallel_loop_nonmonotonic_guided
770 
771 // All GOMP_5.0 symbols
772 #define KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_NEXT \
773  GOMP_loop_maybe_nonmonotonic_runtime_next
774 #define KMP_API_NAME_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START \
775  GOMP_loop_maybe_nonmonotonic_runtime_start
776 #define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_NEXT \
777  GOMP_loop_nonmonotonic_runtime_next
778 #define KMP_API_NAME_GOMP_LOOP_NONMONOTONIC_RUNTIME_START \
779  GOMP_loop_nonmonotonic_runtime_start
780 #define KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_NEXT \
781  GOMP_loop_ull_maybe_nonmonotonic_runtime_next
782 #define KMP_API_NAME_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START \
783  GOMP_loop_ull_maybe_nonmonotonic_runtime_start
784 #define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_NEXT \
785  GOMP_loop_ull_nonmonotonic_runtime_next
786 #define KMP_API_NAME_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START \
787  GOMP_loop_ull_nonmonotonic_runtime_start
788 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME \
789  GOMP_parallel_loop_nonmonotonic_runtime
790 #define KMP_API_NAME_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME \
791  GOMP_parallel_loop_maybe_nonmonotonic_runtime
792 #define KMP_API_NAME_GOMP_TEAMS_REG GOMP_teams_reg
793 #define KMP_API_NAME_GOMP_TASKWAIT_DEPEND GOMP_taskwait_depend
794 #define KMP_API_NAME_GOMP_TASKGROUP_REDUCTION_REGISTER \
795  GOMP_taskgroup_reduction_register
796 #define KMP_API_NAME_GOMP_TASKGROUP_REDUCTION_UNREGISTER \
797  GOMP_taskgroup_reduction_unregister
798 #define KMP_API_NAME_GOMP_TASK_REDUCTION_REMAP GOMP_task_reduction_remap
799 #define KMP_API_NAME_GOMP_PARALLEL_REDUCTIONS GOMP_parallel_reductions
800 #define KMP_API_NAME_GOMP_LOOP_START GOMP_loop_start
801 #define KMP_API_NAME_GOMP_LOOP_ULL_START GOMP_loop_ull_start
802 #define KMP_API_NAME_GOMP_LOOP_DOACROSS_START GOMP_loop_doacross_start
803 #define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_START GOMP_loop_ull_doacross_start
804 #define KMP_API_NAME_GOMP_LOOP_ORDERED_START GOMP_loop_ordered_start
805 #define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_START GOMP_loop_ull_ordered_start
806 #define KMP_API_NAME_GOMP_SECTIONS2_START GOMP_sections2_start
807 #define KMP_API_NAME_GOMP_WORKSHARE_TASK_REDUCTION_UNREGISTER \
808  GOMP_workshare_task_reduction_unregister
809 #define KMP_API_NAME_GOMP_ALLOC GOMP_alloc
810 #define KMP_API_NAME_GOMP_FREE GOMP_free
811 #endif /* KMP_FTN_OS_H */