blob: 00115cb190fa19a4bebea3ef26edde3730731319 [file] [log] [blame]
Jim Cownie5e8470a2013-09-27 10:38:44 +00001/*
2 * kmp_ftn_os.h -- KPTS Fortran defines header file.
Jim Cownie5e8470a2013-09-27 10:38:44 +00003 */
4
Jim Cownie5e8470a2013-09-27 10:38:44 +00005//===----------------------------------------------------------------------===//
6//
7// The LLVM Compiler Infrastructure
8//
9// This file is dual licensed under the MIT and the University of Illinois Open
10// Source Licenses. See LICENSE.txt for details.
11//
12//===----------------------------------------------------------------------===//
13
Jim Cownie5e8470a2013-09-27 10:38:44 +000014#ifndef KMP_FTN_OS_H
15#define KMP_FTN_OS_H
16
Jonathan Peyton30419822017-05-12 18:01:32 +000017// KMP_FNT_ENTRIES may be one of: KMP_FTN_PLAIN, KMP_FTN_UPPER, KMP_FTN_APPEND,
18// KMP_FTN_UAPPEND.
Jim Cownie5e8470a2013-09-27 10:38:44 +000019
20/* -------------------------- External definitions ------------------------ */
21
22#if KMP_FTN_ENTRIES == KMP_FTN_PLAIN
23
Jonathan Peyton30419822017-05-12 18:01:32 +000024#define FTN_SET_STACKSIZE kmp_set_stacksize
25#define FTN_SET_STACKSIZE_S kmp_set_stacksize_s
26#define FTN_GET_STACKSIZE kmp_get_stacksize
27#define FTN_GET_STACKSIZE_S kmp_get_stacksize_s
28#define FTN_SET_BLOCKTIME kmp_set_blocktime
29#define FTN_GET_BLOCKTIME kmp_get_blocktime
30#define FTN_SET_LIBRARY_SERIAL kmp_set_library_serial
31#define FTN_SET_LIBRARY_TURNAROUND kmp_set_library_turnaround
32#define FTN_SET_LIBRARY_THROUGHPUT kmp_set_library_throughput
33#define FTN_SET_LIBRARY kmp_set_library
34#define FTN_GET_LIBRARY kmp_get_library
35#define FTN_SET_DEFAULTS kmp_set_defaults
36#define FTN_SET_DISP_NUM_BUFFERS kmp_set_disp_num_buffers
37#define FTN_SET_AFFINITY kmp_set_affinity
38#define FTN_GET_AFFINITY kmp_get_affinity
39#define FTN_GET_AFFINITY_MAX_PROC kmp_get_affinity_max_proc
40#define FTN_CREATE_AFFINITY_MASK kmp_create_affinity_mask
41#define FTN_DESTROY_AFFINITY_MASK kmp_destroy_affinity_mask
42#define FTN_SET_AFFINITY_MASK_PROC kmp_set_affinity_mask_proc
43#define FTN_UNSET_AFFINITY_MASK_PROC kmp_unset_affinity_mask_proc
44#define FTN_GET_AFFINITY_MASK_PROC kmp_get_affinity_mask_proc
Jim Cownie5e8470a2013-09-27 10:38:44 +000045
Jonathan Peyton30419822017-05-12 18:01:32 +000046#define FTN_MALLOC kmp_malloc
47#define FTN_ALIGNED_MALLOC kmp_aligned_malloc
48#define FTN_CALLOC kmp_calloc
49#define FTN_REALLOC kmp_realloc
50#define FTN_FREE kmp_free
Jim Cownie5e8470a2013-09-27 10:38:44 +000051
Jonathan Peyton30419822017-05-12 18:01:32 +000052#define FTN_GET_NUM_KNOWN_THREADS kmp_get_num_known_threads
Jim Cownie5e8470a2013-09-27 10:38:44 +000053
Jonathan Peyton30419822017-05-12 18:01:32 +000054#define FTN_SET_NUM_THREADS omp_set_num_threads
55#define FTN_GET_NUM_THREADS omp_get_num_threads
56#define FTN_GET_MAX_THREADS omp_get_max_threads
57#define FTN_GET_THREAD_NUM omp_get_thread_num
58#define FTN_GET_NUM_PROCS omp_get_num_procs
59#define FTN_SET_DYNAMIC omp_set_dynamic
60#define FTN_GET_DYNAMIC omp_get_dynamic
61#define FTN_SET_NESTED omp_set_nested
62#define FTN_GET_NESTED omp_get_nested
63#define FTN_IN_PARALLEL omp_in_parallel
64#define FTN_GET_THREAD_LIMIT omp_get_thread_limit
65#define FTN_SET_SCHEDULE omp_set_schedule
66#define FTN_GET_SCHEDULE omp_get_schedule
67#define FTN_SET_MAX_ACTIVE_LEVELS omp_set_max_active_levels
68#define FTN_GET_MAX_ACTIVE_LEVELS omp_get_max_active_levels
69#define FTN_GET_ACTIVE_LEVEL omp_get_active_level
70#define FTN_GET_LEVEL omp_get_level
71#define FTN_GET_ANCESTOR_THREAD_NUM omp_get_ancestor_thread_num
72#define FTN_GET_TEAM_SIZE omp_get_team_size
73#define FTN_IN_FINAL omp_in_final
Jim Cownie5e8470a2013-09-27 10:38:44 +000074// #define FTN_SET_PROC_BIND omp_set_proc_bind
Jonathan Peyton30419822017-05-12 18:01:32 +000075#define FTN_GET_PROC_BIND omp_get_proc_bind
Jim Cownie5e8470a2013-09-27 10:38:44 +000076// #define FTN_CURR_PROC_BIND omp_curr_proc_bind
77#if OMP_40_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +000078#define FTN_GET_NUM_TEAMS omp_get_num_teams
79#define FTN_GET_TEAM_NUM omp_get_team_num
Jim Cownie5e8470a2013-09-27 10:38:44 +000080#endif
Jonathan Peyton30419822017-05-12 18:01:32 +000081#define FTN_INIT_LOCK omp_init_lock
Andrey Churbanov5c56fb52015-02-20 18:05:17 +000082#if KMP_USE_DYNAMIC_LOCK
Jonathan Peyton30419822017-05-12 18:01:32 +000083#define FTN_INIT_LOCK_WITH_HINT omp_init_lock_with_hint
84#define FTN_INIT_NEST_LOCK_WITH_HINT omp_init_nest_lock_with_hint
Andrey Churbanov5c56fb52015-02-20 18:05:17 +000085#endif
Jonathan Peyton30419822017-05-12 18:01:32 +000086#define FTN_DESTROY_LOCK omp_destroy_lock
87#define FTN_SET_LOCK omp_set_lock
88#define FTN_UNSET_LOCK omp_unset_lock
89#define FTN_TEST_LOCK omp_test_lock
90#define FTN_INIT_NEST_LOCK omp_init_nest_lock
91#define FTN_DESTROY_NEST_LOCK omp_destroy_nest_lock
92#define FTN_SET_NEST_LOCK omp_set_nest_lock
93#define FTN_UNSET_NEST_LOCK omp_unset_nest_lock
94#define FTN_TEST_NEST_LOCK omp_test_nest_lock
Jim Cownie5e8470a2013-09-27 10:38:44 +000095
Jonathan Peyton30419822017-05-12 18:01:32 +000096#define FTN_SET_WARNINGS_ON kmp_set_warnings_on
97#define FTN_SET_WARNINGS_OFF kmp_set_warnings_off
Jim Cownie5e8470a2013-09-27 10:38:44 +000098
Jonathan Peyton30419822017-05-12 18:01:32 +000099#define FTN_GET_WTIME omp_get_wtime
100#define FTN_GET_WTICK omp_get_wtick
Jim Cownie5e8470a2013-09-27 10:38:44 +0000101
102#if OMP_40_ENABLED
Jonathan Peyton50eae7f2016-05-27 15:51:14 +0000103#if KMP_MIC || KMP_OS_DARWIN || defined(KMP_STUB)
Jonathan Peyton30419822017-05-12 18:01:32 +0000104#define FTN_GET_NUM_DEVICES omp_get_num_devices
Jim Cownie5e8470a2013-09-27 10:38:44 +0000105#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000106#define FTN_GET_DEFAULT_DEVICE omp_get_default_device
107#define FTN_SET_DEFAULT_DEVICE omp_set_default_device
108#define FTN_IS_INITIAL_DEVICE omp_is_initial_device
Jim Cownie5e8470a2013-09-27 10:38:44 +0000109#endif
110
Jim Cownie181b4bb2013-12-23 17:28:57 +0000111#if OMP_40_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000112#define FTN_GET_CANCELLATION omp_get_cancellation
113#define FTN_GET_CANCELLATION_STATUS kmp_get_cancellation_status
Jim Cownie181b4bb2013-12-23 17:28:57 +0000114#endif
115
Jonathan Peytondf6818b2016-06-14 17:57:47 +0000116#if OMP_45_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000117#define FTN_GET_MAX_TASK_PRIORITY omp_get_max_task_priority
118#define FTN_GET_NUM_PLACES omp_get_num_places
119#define FTN_GET_PLACE_NUM_PROCS omp_get_place_num_procs
120#define FTN_GET_PLACE_PROC_IDS omp_get_place_proc_ids
121#define FTN_GET_PLACE_NUM omp_get_place_num
122#define FTN_GET_PARTITION_NUM_PLACES omp_get_partition_num_places
123#define FTN_GET_PARTITION_PLACE_NUMS omp_get_partition_place_nums
124#ifdef KMP_STUB
125#define FTN_GET_INITIAL_DEVICE omp_get_initial_device
126#define FTN_TARGET_ALLOC omp_target_alloc
127#define FTN_TARGET_FREE omp_target_free
128#define FTN_TARGET_IS_PRESENT omp_target_is_present
129#define FTN_TARGET_MEMCPY omp_target_memcpy
130#define FTN_TARGET_MEMCPY_RECT omp_target_memcpy_rect
131#define FTN_TARGET_ASSOCIATE_PTR omp_target_associate_ptr
132#define FTN_TARGET_DISASSOCIATE_PTR omp_target_disassociate_ptr
133#endif
Jonathan Peyton28510722016-02-25 18:04:09 +0000134#endif
135
Joachim Protze82e94a52017-11-01 10:08:30 +0000136#if OMP_50_ENABLED
137#define FTN_CONTROL_TOOL omp_control_tool
138#endif
139
Jim Cownie5e8470a2013-09-27 10:38:44 +0000140#endif /* KMP_FTN_PLAIN */
141
142/* ------------------------------------------------------------------------ */
143
144#if KMP_FTN_ENTRIES == KMP_FTN_APPEND
145
Jonathan Peyton30419822017-05-12 18:01:32 +0000146#define FTN_SET_STACKSIZE kmp_set_stacksize_
147#define FTN_SET_STACKSIZE_S kmp_set_stacksize_s_
148#define FTN_GET_STACKSIZE kmp_get_stacksize_
149#define FTN_GET_STACKSIZE_S kmp_get_stacksize_s_
150#define FTN_SET_BLOCKTIME kmp_set_blocktime_
151#define FTN_GET_BLOCKTIME kmp_get_blocktime_
152#define FTN_SET_LIBRARY_SERIAL kmp_set_library_serial_
153#define FTN_SET_LIBRARY_TURNAROUND kmp_set_library_turnaround_
154#define FTN_SET_LIBRARY_THROUGHPUT kmp_set_library_throughput_
155#define FTN_SET_LIBRARY kmp_set_library_
156#define FTN_GET_LIBRARY kmp_get_library_
157#define FTN_SET_DEFAULTS kmp_set_defaults_
158#define FTN_SET_DISP_NUM_BUFFERS kmp_set_disp_num_buffers_
159#define FTN_SET_AFFINITY kmp_set_affinity_
160#define FTN_GET_AFFINITY kmp_get_affinity_
161#define FTN_GET_AFFINITY_MAX_PROC kmp_get_affinity_max_proc_
162#define FTN_CREATE_AFFINITY_MASK kmp_create_affinity_mask_
163#define FTN_DESTROY_AFFINITY_MASK kmp_destroy_affinity_mask_
164#define FTN_SET_AFFINITY_MASK_PROC kmp_set_affinity_mask_proc_
165#define FTN_UNSET_AFFINITY_MASK_PROC kmp_unset_affinity_mask_proc_
166#define FTN_GET_AFFINITY_MASK_PROC kmp_get_affinity_mask_proc_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000167
Jonathan Peyton30419822017-05-12 18:01:32 +0000168#define FTN_MALLOC kmp_malloc_
169#define FTN_ALIGNED_MALLOC kmp_aligned_malloc_
170#define FTN_CALLOC kmp_calloc_
171#define FTN_REALLOC kmp_realloc_
172#define FTN_FREE kmp_free_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000173
Jonathan Peyton30419822017-05-12 18:01:32 +0000174#define FTN_GET_NUM_KNOWN_THREADS kmp_get_num_known_threads_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000175
Jonathan Peyton30419822017-05-12 18:01:32 +0000176#define FTN_SET_NUM_THREADS omp_set_num_threads_
177#define FTN_GET_NUM_THREADS omp_get_num_threads_
178#define FTN_GET_MAX_THREADS omp_get_max_threads_
179#define FTN_GET_THREAD_NUM omp_get_thread_num_
180#define FTN_GET_NUM_PROCS omp_get_num_procs_
181#define FTN_SET_DYNAMIC omp_set_dynamic_
182#define FTN_GET_DYNAMIC omp_get_dynamic_
183#define FTN_SET_NESTED omp_set_nested_
184#define FTN_GET_NESTED omp_get_nested_
185#define FTN_IN_PARALLEL omp_in_parallel_
186#define FTN_GET_THREAD_LIMIT omp_get_thread_limit_
187#define FTN_SET_SCHEDULE omp_set_schedule_
188#define FTN_GET_SCHEDULE omp_get_schedule_
189#define FTN_SET_MAX_ACTIVE_LEVELS omp_set_max_active_levels_
190#define FTN_GET_MAX_ACTIVE_LEVELS omp_get_max_active_levels_
191#define FTN_GET_ACTIVE_LEVEL omp_get_active_level_
192#define FTN_GET_LEVEL omp_get_level_
193#define FTN_GET_ANCESTOR_THREAD_NUM omp_get_ancestor_thread_num_
194#define FTN_GET_TEAM_SIZE omp_get_team_size_
195#define FTN_IN_FINAL omp_in_final_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000196// #define FTN_SET_PROC_BIND omp_set_proc_bind_
Jonathan Peyton30419822017-05-12 18:01:32 +0000197#define FTN_GET_PROC_BIND omp_get_proc_bind_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000198// #define FTN_CURR_PROC_BIND omp_curr_proc_bind_
199#if OMP_40_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000200#define FTN_GET_NUM_TEAMS omp_get_num_teams_
201#define FTN_GET_TEAM_NUM omp_get_team_num_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000202#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000203#define FTN_INIT_LOCK omp_init_lock_
Andrey Churbanov5c56fb52015-02-20 18:05:17 +0000204#if KMP_USE_DYNAMIC_LOCK
Jonathan Peyton30419822017-05-12 18:01:32 +0000205#define FTN_INIT_LOCK_WITH_HINT omp_init_lock_with_hint_
206#define FTN_INIT_NEST_LOCK_WITH_HINT omp_init_nest_lock_with_hint_
Andrey Churbanov5c56fb52015-02-20 18:05:17 +0000207#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000208#define FTN_DESTROY_LOCK omp_destroy_lock_
209#define FTN_SET_LOCK omp_set_lock_
210#define FTN_UNSET_LOCK omp_unset_lock_
211#define FTN_TEST_LOCK omp_test_lock_
212#define FTN_INIT_NEST_LOCK omp_init_nest_lock_
213#define FTN_DESTROY_NEST_LOCK omp_destroy_nest_lock_
214#define FTN_SET_NEST_LOCK omp_set_nest_lock_
215#define FTN_UNSET_NEST_LOCK omp_unset_nest_lock_
216#define FTN_TEST_NEST_LOCK omp_test_nest_lock_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000217
Jonathan Peyton30419822017-05-12 18:01:32 +0000218#define FTN_SET_WARNINGS_ON kmp_set_warnings_on_
219#define FTN_SET_WARNINGS_OFF kmp_set_warnings_off_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000220
Jonathan Peyton30419822017-05-12 18:01:32 +0000221#define FTN_GET_WTIME omp_get_wtime_
222#define FTN_GET_WTICK omp_get_wtick_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000223
224#if OMP_40_ENABLED
Jonathan Peyton50eae7f2016-05-27 15:51:14 +0000225#if KMP_MIC || KMP_OS_DARWIN || defined(KMP_STUB)
Jonathan Peyton30419822017-05-12 18:01:32 +0000226#define FTN_GET_NUM_DEVICES omp_get_num_devices_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000227#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000228#define FTN_GET_DEFAULT_DEVICE omp_get_default_device_
229#define FTN_SET_DEFAULT_DEVICE omp_set_default_device_
230#define FTN_IS_INITIAL_DEVICE omp_is_initial_device_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000231#endif
232
Jim Cownie181b4bb2013-12-23 17:28:57 +0000233#if OMP_40_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000234#define FTN_GET_CANCELLATION omp_get_cancellation_
235#define FTN_GET_CANCELLATION_STATUS kmp_get_cancellation_status_
Jim Cownie181b4bb2013-12-23 17:28:57 +0000236#endif
237
Jonathan Peytondf6818b2016-06-14 17:57:47 +0000238#if OMP_45_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000239#define FTN_GET_MAX_TASK_PRIORITY omp_get_max_task_priority_
240#define FTN_GET_NUM_PLACES omp_get_num_places_
241#define FTN_GET_PLACE_NUM_PROCS omp_get_place_num_procs_
242#define FTN_GET_PLACE_PROC_IDS omp_get_place_proc_ids_
243#define FTN_GET_PLACE_NUM omp_get_place_num_
244#define FTN_GET_PARTITION_NUM_PLACES omp_get_partition_num_places_
245#define FTN_GET_PARTITION_PLACE_NUMS omp_get_partition_place_nums_
246#ifdef KMP_STUB
247#define FTN_GET_INITIAL_DEVICE omp_get_initial_device_
248#define FTN_TARGET_ALLOC omp_target_alloc_
249#define FTN_TARGET_FREE omp_target_free_
250#define FTN_TARGET_IS_PRESENT omp_target_is_present_
251#define FTN_TARGET_MEMCPY omp_target_memcpy_
252#define FTN_TARGET_MEMCPY_RECT omp_target_memcpy_rect_
253#define FTN_TARGET_ASSOCIATE_PTR omp_target_associate_ptr_
254#define FTN_TARGET_DISASSOCIATE_PTR omp_target_disassociate_ptr_
255#endif
Jonathan Peyton28510722016-02-25 18:04:09 +0000256#endif
257
Joachim Protze82e94a52017-11-01 10:08:30 +0000258#if OMP_50_ENABLED
259#define FTN_CONTROL_TOOL OMP_CONTROL_TOOL
260#endif
261
Jim Cownie5e8470a2013-09-27 10:38:44 +0000262#endif /* KMP_FTN_APPEND */
263
264/* ------------------------------------------------------------------------ */
265
266#if KMP_FTN_ENTRIES == KMP_FTN_UPPER
267
Jonathan Peyton30419822017-05-12 18:01:32 +0000268#define FTN_SET_STACKSIZE KMP_SET_STACKSIZE
269#define FTN_SET_STACKSIZE_S KMP_SET_STACKSIZE_S
270#define FTN_GET_STACKSIZE KMP_GET_STACKSIZE
271#define FTN_GET_STACKSIZE_S KMP_GET_STACKSIZE_S
272#define FTN_SET_BLOCKTIME KMP_SET_BLOCKTIME
273#define FTN_GET_BLOCKTIME KMP_GET_BLOCKTIME
274#define FTN_SET_LIBRARY_SERIAL KMP_SET_LIBRARY_SERIAL
275#define FTN_SET_LIBRARY_TURNAROUND KMP_SET_LIBRARY_TURNAROUND
276#define FTN_SET_LIBRARY_THROUGHPUT KMP_SET_LIBRARY_THROUGHPUT
277#define FTN_SET_LIBRARY KMP_SET_LIBRARY
278#define FTN_GET_LIBRARY KMP_GET_LIBRARY
279#define FTN_SET_DEFAULTS KMP_SET_DEFAULTS
280#define FTN_SET_DISP_NUM_BUFFERS KMP_SET_DISP_NUM_BUFFERS
281#define FTN_SET_AFFINITY KMP_SET_AFFINITY
282#define FTN_GET_AFFINITY KMP_GET_AFFINITY
283#define FTN_GET_AFFINITY_MAX_PROC KMP_GET_AFFINITY_MAX_PROC
284#define FTN_CREATE_AFFINITY_MASK KMP_CREATE_AFFINITY_MASK
285#define FTN_DESTROY_AFFINITY_MASK KMP_DESTROY_AFFINITY_MASK
286#define FTN_SET_AFFINITY_MASK_PROC KMP_SET_AFFINITY_MASK_PROC
287#define FTN_UNSET_AFFINITY_MASK_PROC KMP_UNSET_AFFINITY_MASK_PROC
288#define FTN_GET_AFFINITY_MASK_PROC KMP_GET_AFFINITY_MASK_PROC
Jim Cownie5e8470a2013-09-27 10:38:44 +0000289
Jonathan Peyton30419822017-05-12 18:01:32 +0000290#define FTN_MALLOC KMP_MALLOC
291#define FTN_ALIGNED_MALLOC KMP_ALIGNED_MALLOC
292#define FTN_CALLOC KMP_CALLOC
293#define FTN_REALLOC KMP_REALLOC
294#define FTN_FREE KMP_FREE
Jim Cownie5e8470a2013-09-27 10:38:44 +0000295
Jonathan Peyton30419822017-05-12 18:01:32 +0000296#define FTN_GET_NUM_KNOWN_THREADS KMP_GET_NUM_KNOWN_THREADS
Jim Cownie5e8470a2013-09-27 10:38:44 +0000297
Jonathan Peyton30419822017-05-12 18:01:32 +0000298#define FTN_SET_NUM_THREADS OMP_SET_NUM_THREADS
299#define FTN_GET_NUM_THREADS OMP_GET_NUM_THREADS
300#define FTN_GET_MAX_THREADS OMP_GET_MAX_THREADS
301#define FTN_GET_THREAD_NUM OMP_GET_THREAD_NUM
302#define FTN_GET_NUM_PROCS OMP_GET_NUM_PROCS
303#define FTN_SET_DYNAMIC OMP_SET_DYNAMIC
304#define FTN_GET_DYNAMIC OMP_GET_DYNAMIC
305#define FTN_SET_NESTED OMP_SET_NESTED
306#define FTN_GET_NESTED OMP_GET_NESTED
307#define FTN_IN_PARALLEL OMP_IN_PARALLEL
308#define FTN_GET_THREAD_LIMIT OMP_GET_THREAD_LIMIT
309#define FTN_SET_SCHEDULE OMP_SET_SCHEDULE
310#define FTN_GET_SCHEDULE OMP_GET_SCHEDULE
311#define FTN_SET_MAX_ACTIVE_LEVELS OMP_SET_MAX_ACTIVE_LEVELS
312#define FTN_GET_MAX_ACTIVE_LEVELS OMP_GET_MAX_ACTIVE_LEVELS
313#define FTN_GET_ACTIVE_LEVEL OMP_GET_ACTIVE_LEVEL
314#define FTN_GET_LEVEL OMP_GET_LEVEL
315#define FTN_GET_ANCESTOR_THREAD_NUM OMP_GET_ANCESTOR_THREAD_NUM
316#define FTN_GET_TEAM_SIZE OMP_GET_TEAM_SIZE
317#define FTN_IN_FINAL OMP_IN_FINAL
Jim Cownie5e8470a2013-09-27 10:38:44 +0000318// #define FTN_SET_PROC_BIND OMP_SET_PROC_BIND
Jonathan Peyton30419822017-05-12 18:01:32 +0000319#define FTN_GET_PROC_BIND OMP_GET_PROC_BIND
Jim Cownie5e8470a2013-09-27 10:38:44 +0000320// #define FTN_CURR_PROC_BIND OMP_CURR_PROC_BIND
321#if OMP_40_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000322#define FTN_GET_NUM_TEAMS OMP_GET_NUM_TEAMS
323#define FTN_GET_TEAM_NUM OMP_GET_TEAM_NUM
Jim Cownie5e8470a2013-09-27 10:38:44 +0000324#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000325#define FTN_INIT_LOCK OMP_INIT_LOCK
Andrey Churbanov5c56fb52015-02-20 18:05:17 +0000326#if KMP_USE_DYNAMIC_LOCK
Jonathan Peyton30419822017-05-12 18:01:32 +0000327#define FTN_INIT_LOCK_WITH_HINT OMP_INIT_LOCK_WITH_HINT
328#define FTN_INIT_NEST_LOCK_WITH_HINT OMP_INIT_NEST_LOCK_WITH_HINT
Andrey Churbanov5c56fb52015-02-20 18:05:17 +0000329#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000330#define FTN_DESTROY_LOCK OMP_DESTROY_LOCK
331#define FTN_SET_LOCK OMP_SET_LOCK
332#define FTN_UNSET_LOCK OMP_UNSET_LOCK
333#define FTN_TEST_LOCK OMP_TEST_LOCK
334#define FTN_INIT_NEST_LOCK OMP_INIT_NEST_LOCK
335#define FTN_DESTROY_NEST_LOCK OMP_DESTROY_NEST_LOCK
336#define FTN_SET_NEST_LOCK OMP_SET_NEST_LOCK
337#define FTN_UNSET_NEST_LOCK OMP_UNSET_NEST_LOCK
338#define FTN_TEST_NEST_LOCK OMP_TEST_NEST_LOCK
Jim Cownie5e8470a2013-09-27 10:38:44 +0000339
Jonathan Peyton30419822017-05-12 18:01:32 +0000340#define FTN_SET_WARNINGS_ON KMP_SET_WARNINGS_ON
341#define FTN_SET_WARNINGS_OFF KMP_SET_WARNINGS_OFF
Jim Cownie5e8470a2013-09-27 10:38:44 +0000342
Jonathan Peyton30419822017-05-12 18:01:32 +0000343#define FTN_GET_WTIME OMP_GET_WTIME
344#define FTN_GET_WTICK OMP_GET_WTICK
Jim Cownie5e8470a2013-09-27 10:38:44 +0000345
346#if OMP_40_ENABLED
Jonathan Peyton50eae7f2016-05-27 15:51:14 +0000347#if KMP_MIC || KMP_OS_DARWIN || defined(KMP_STUB)
Jonathan Peyton30419822017-05-12 18:01:32 +0000348#define FTN_GET_NUM_DEVICES OMP_GET_NUM_DEVICES
Jim Cownie5e8470a2013-09-27 10:38:44 +0000349#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000350#define FTN_GET_DEFAULT_DEVICE OMP_GET_DEFAULT_DEVICE
351#define FTN_SET_DEFAULT_DEVICE OMP_SET_DEFAULT_DEVICE
352#define FTN_IS_INITIAL_DEVICE OMP_IS_INITIAL_DEVICE
Jim Cownie5e8470a2013-09-27 10:38:44 +0000353#endif
354
Jim Cownie181b4bb2013-12-23 17:28:57 +0000355#if OMP_40_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000356#define FTN_GET_CANCELLATION OMP_GET_CANCELLATION
357#define FTN_GET_CANCELLATION_STATUS KMP_GET_CANCELLATION_STATUS
Jim Cownie181b4bb2013-12-23 17:28:57 +0000358#endif
359
Jonathan Peytondf6818b2016-06-14 17:57:47 +0000360#if OMP_45_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000361#define FTN_GET_MAX_TASK_PRIORITY OMP_GET_MAX_TASK_PRIORITY
362#define FTN_GET_NUM_PLACES OMP_GET_NUM_PLACES
363#define FTN_GET_PLACE_NUM_PROCS OMP_GET_PLACE_NUM_PROCS
364#define FTN_GET_PLACE_PROC_IDS OMP_GET_PLACE_PROC_IDS
365#define FTN_GET_PLACE_NUM OMP_GET_PLACE_NUM
366#define FTN_GET_PARTITION_NUM_PLACES OMP_GET_PARTITION_NUM_PLACES
367#define FTN_GET_PARTITION_PLACE_NUMS OMP_GET_PARTITION_PLACE_NUMS
368#ifdef KMP_STUB
369#define FTN_GET_INITIAL_DEVICE OMP_GET_INITIAL_DEVICE
370#define FTN_TARGET_ALLOC OMP_TARGET_ALLOC
371#define FTN_TARGET_FREE OMP_TARGET_FREE
372#define FTN_TARGET_IS_PRESENT OMP_TARGET_IS_PRESENT
373#define FTN_TARGET_MEMCPY OMP_TARGET_MEMCPY
374#define FTN_TARGET_MEMCPY_RECT OMP_TARGET_MEMCPY_RECT
375#define FTN_TARGET_ASSOCIATE_PTR OMP_TARGET_ASSOCIATE_PTR
376#define FTN_TARGET_DISASSOCIATE_PTR OMP_TARGET_DISASSOCIATE_PTR
377#endif
Jonathan Peyton28510722016-02-25 18:04:09 +0000378#endif
379
Joachim Protze82e94a52017-11-01 10:08:30 +0000380#if OMP_50_ENABLED
381#define FTN_CONTROL_TOOL OMP_CONTROL_TOOL
382#endif
383
Jim Cownie5e8470a2013-09-27 10:38:44 +0000384#endif /* KMP_FTN_UPPER */
385
386/* ------------------------------------------------------------------------ */
387
388#if KMP_FTN_ENTRIES == KMP_FTN_UAPPEND
389
Jonathan Peyton30419822017-05-12 18:01:32 +0000390#define FTN_SET_STACKSIZE KMP_SET_STACKSIZE_
391#define FTN_SET_STACKSIZE_S KMP_SET_STACKSIZE_S_
392#define FTN_GET_STACKSIZE KMP_GET_STACKSIZE_
393#define FTN_GET_STACKSIZE_S KMP_GET_STACKSIZE_S_
394#define FTN_SET_BLOCKTIME KMP_SET_BLOCKTIME_
395#define FTN_GET_BLOCKTIME KMP_GET_BLOCKTIME_
396#define FTN_SET_LIBRARY_SERIAL KMP_SET_LIBRARY_SERIAL_
397#define FTN_SET_LIBRARY_TURNAROUND KMP_SET_LIBRARY_TURNAROUND_
398#define FTN_SET_LIBRARY_THROUGHPUT KMP_SET_LIBRARY_THROUGHPUT_
399#define FTN_SET_LIBRARY KMP_SET_LIBRARY_
400#define FTN_GET_LIBRARY KMP_GET_LIBRARY_
401#define FTN_SET_DEFAULTS KMP_SET_DEFAULTS_
402#define FTN_SET_DISP_NUM_BUFFERS KMP_SET_DISP_NUM_BUFFERS_
403#define FTN_SET_AFFINITY KMP_SET_AFFINITY_
404#define FTN_GET_AFFINITY KMP_GET_AFFINITY_
405#define FTN_GET_AFFINITY_MAX_PROC KMP_GET_AFFINITY_MAX_PROC_
406#define FTN_CREATE_AFFINITY_MASK KMP_CREATE_AFFINITY_MASK_
407#define FTN_DESTROY_AFFINITY_MASK KMP_DESTROY_AFFINITY_MASK_
408#define FTN_SET_AFFINITY_MASK_PROC KMP_SET_AFFINITY_MASK_PROC_
409#define FTN_UNSET_AFFINITY_MASK_PROC KMP_UNSET_AFFINITY_MASK_PROC_
410#define FTN_GET_AFFINITY_MASK_PROC KMP_GET_AFFINITY_MASK_PROC_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000411
Jonathan Peyton30419822017-05-12 18:01:32 +0000412#define FTN_MALLOC KMP_MALLOC_
413#define FTN_ALIGNED_MALLOC KMP_ALIGNED_MALLOC_
414#define FTN_CALLOC KMP_CALLOC_
415#define FTN_REALLOC KMP_REALLOC_
416#define FTN_FREE KMP_FREE_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000417
Jonathan Peyton30419822017-05-12 18:01:32 +0000418#define FTN_GET_NUM_KNOWN_THREADS KMP_GET_NUM_KNOWN_THREADS_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000419
Jonathan Peyton30419822017-05-12 18:01:32 +0000420#define FTN_SET_NUM_THREADS OMP_SET_NUM_THREADS_
421#define FTN_GET_NUM_THREADS OMP_GET_NUM_THREADS_
422#define FTN_GET_MAX_THREADS OMP_GET_MAX_THREADS_
423#define FTN_GET_THREAD_NUM OMP_GET_THREAD_NUM_
424#define FTN_GET_NUM_PROCS OMP_GET_NUM_PROCS_
425#define FTN_SET_DYNAMIC OMP_SET_DYNAMIC_
426#define FTN_GET_DYNAMIC OMP_GET_DYNAMIC_
427#define FTN_SET_NESTED OMP_SET_NESTED_
428#define FTN_GET_NESTED OMP_GET_NESTED_
429#define FTN_IN_PARALLEL OMP_IN_PARALLEL_
430#define FTN_GET_THREAD_LIMIT OMP_GET_THREAD_LIMIT_
431#define FTN_SET_SCHEDULE OMP_SET_SCHEDULE_
432#define FTN_GET_SCHEDULE OMP_GET_SCHEDULE_
433#define FTN_SET_MAX_ACTIVE_LEVELS OMP_SET_MAX_ACTIVE_LEVELS_
434#define FTN_GET_MAX_ACTIVE_LEVELS OMP_GET_MAX_ACTIVE_LEVELS_
435#define FTN_GET_ACTIVE_LEVEL OMP_GET_ACTIVE_LEVEL_
436#define FTN_GET_LEVEL OMP_GET_LEVEL_
437#define FTN_GET_ANCESTOR_THREAD_NUM OMP_GET_ANCESTOR_THREAD_NUM_
438#define FTN_GET_TEAM_SIZE OMP_GET_TEAM_SIZE_
439#define FTN_IN_FINAL OMP_IN_FINAL_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000440// #define FTN_SET_PROC_BIND OMP_SET_PROC_BIND_
Jonathan Peyton30419822017-05-12 18:01:32 +0000441#define FTN_GET_PROC_BIND OMP_GET_PROC_BIND_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000442// #define FTN_CURR_PROC_BIND OMP_CURR_PROC_BIND_
443#if OMP_40_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000444#define FTN_GET_NUM_TEAMS OMP_GET_NUM_TEAMS_
445#define FTN_GET_TEAM_NUM OMP_GET_TEAM_NUM_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000446#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000447#define FTN_INIT_LOCK OMP_INIT_LOCK_
Andrey Churbanov5c56fb52015-02-20 18:05:17 +0000448#if KMP_USE_DYNAMIC_LOCK
Jonathan Peyton30419822017-05-12 18:01:32 +0000449#define FTN_INIT_LOCK_WITH_HINT OMP_INIT_LOCK_WITH_HINT_
450#define FTN_INIT_NEST_LOCK_WITH_HINT OMP_INIT_NEST_LOCK_WITH_HINT_
Andrey Churbanov5c56fb52015-02-20 18:05:17 +0000451#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000452#define FTN_DESTROY_LOCK OMP_DESTROY_LOCK_
453#define FTN_SET_LOCK OMP_SET_LOCK_
454#define FTN_UNSET_LOCK OMP_UNSET_LOCK_
455#define FTN_TEST_LOCK OMP_TEST_LOCK_
456#define FTN_INIT_NEST_LOCK OMP_INIT_NEST_LOCK_
457#define FTN_DESTROY_NEST_LOCK OMP_DESTROY_NEST_LOCK_
458#define FTN_SET_NEST_LOCK OMP_SET_NEST_LOCK_
459#define FTN_UNSET_NEST_LOCK OMP_UNSET_NEST_LOCK_
460#define FTN_TEST_NEST_LOCK OMP_TEST_NEST_LOCK_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000461
Jonathan Peyton30419822017-05-12 18:01:32 +0000462#define FTN_SET_WARNINGS_ON KMP_SET_WARNINGS_ON_
463#define FTN_SET_WARNINGS_OFF KMP_SET_WARNINGS_OFF_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000464
Jonathan Peyton30419822017-05-12 18:01:32 +0000465#define FTN_GET_WTIME OMP_GET_WTIME_
466#define FTN_GET_WTICK OMP_GET_WTICK_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000467
468#if OMP_40_ENABLED
Jonathan Peyton50eae7f2016-05-27 15:51:14 +0000469#if KMP_MIC || KMP_OS_DARWIN || defined(KMP_STUB)
Jonathan Peyton30419822017-05-12 18:01:32 +0000470#define FTN_GET_NUM_DEVICES OMP_GET_NUM_DEVICES_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000471#endif
Jonathan Peyton30419822017-05-12 18:01:32 +0000472#define FTN_GET_DEFAULT_DEVICE OMP_GET_DEFAULT_DEVICE_
473#define FTN_SET_DEFAULT_DEVICE OMP_SET_DEFAULT_DEVICE_
474#define FTN_IS_INITIAL_DEVICE OMP_IS_INITIAL_DEVICE_
Jim Cownie5e8470a2013-09-27 10:38:44 +0000475#endif
476
Jim Cownie181b4bb2013-12-23 17:28:57 +0000477#if OMP_40_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000478#define FTN_GET_CANCELLATION OMP_GET_CANCELLATION_
479#define FTN_GET_CANCELLATION_STATUS KMP_GET_CANCELLATION_STATUS_
Jim Cownie181b4bb2013-12-23 17:28:57 +0000480#endif
481
Jonathan Peytondf6818b2016-06-14 17:57:47 +0000482#if OMP_45_ENABLED
Jonathan Peyton30419822017-05-12 18:01:32 +0000483#define FTN_GET_MAX_TASK_PRIORITY OMP_GET_MAX_TASK_PRIORITY_
484#define FTN_GET_NUM_PLACES OMP_GET_NUM_PLACES_
485#define FTN_GET_PLACE_NUM_PROCS OMP_GET_PLACE_NUM_PROCS_
486#define FTN_GET_PLACE_PROC_IDS OMP_GET_PLACE_PROC_IDS_
487#define FTN_GET_PLACE_NUM OMP_GET_PLACE_NUM_
488#define FTN_GET_PARTITION_NUM_PLACES OMP_GET_PARTITION_NUM_PLACES_
489#define FTN_GET_PARTITION_PLACE_NUMS OMP_GET_PARTITION_PLACE_NUMS_
490#ifdef KMP_STUB
491#define FTN_GET_INITIAL_DEVICE OMP_GET_INITIAL_DEVICE_
492#define FTN_TARGET_ALLOC OMP_TARGET_ALLOC_
493#define FTN_TARGET_FREE OMP_TARGET_FREE_
494#define FTN_TARGET_IS_PRESENT OMP_TARGET_IS_PRESENT_
495#define FTN_TARGET_MEMCPY OMP_TARGET_MEMCPY_
496#define FTN_TARGET_MEMCPY_RECT OMP_TARGET_MEMCPY_RECT_
497#define FTN_TARGET_ASSOCIATE_PTR OMP_TARGET_ASSOCIATE_PTR_
498#define FTN_TARGET_DISASSOCIATE_PTR OMP_TARGET_DISASSOCIATE_PTR_
499#endif
Jonathan Peyton28510722016-02-25 18:04:09 +0000500#endif
501
Joachim Protze82e94a52017-11-01 10:08:30 +0000502#if OMP_50_ENABLED
503#define FTN_CONTROL_TOOL OMP_CONTROL_TOOL_
504#endif
505
Jim Cownie5e8470a2013-09-27 10:38:44 +0000506#endif /* KMP_FTN_UAPPEND */
507
Jim Cownie181b4bb2013-12-23 17:28:57 +0000508/* -------------------------- GOMP API NAMES ------------------------ */
509// All GOMP_1.0 symbols
Jonathan Peyton30419822017-05-12 18:01:32 +0000510#define KMP_API_NAME_GOMP_ATOMIC_END GOMP_atomic_end
511#define KMP_API_NAME_GOMP_ATOMIC_START GOMP_atomic_start
512#define KMP_API_NAME_GOMP_BARRIER GOMP_barrier
513#define KMP_API_NAME_GOMP_CRITICAL_END GOMP_critical_end
514#define KMP_API_NAME_GOMP_CRITICAL_NAME_END GOMP_critical_name_end
515#define KMP_API_NAME_GOMP_CRITICAL_NAME_START GOMP_critical_name_start
516#define KMP_API_NAME_GOMP_CRITICAL_START GOMP_critical_start
517#define KMP_API_NAME_GOMP_LOOP_DYNAMIC_NEXT GOMP_loop_dynamic_next
518#define KMP_API_NAME_GOMP_LOOP_DYNAMIC_START GOMP_loop_dynamic_start
519#define KMP_API_NAME_GOMP_LOOP_END GOMP_loop_end
520#define KMP_API_NAME_GOMP_LOOP_END_NOWAIT GOMP_loop_end_nowait
521#define KMP_API_NAME_GOMP_LOOP_GUIDED_NEXT GOMP_loop_guided_next
522#define KMP_API_NAME_GOMP_LOOP_GUIDED_START GOMP_loop_guided_start
523#define KMP_API_NAME_GOMP_LOOP_ORDERED_DYNAMIC_NEXT \
524 GOMP_loop_ordered_dynamic_next
525#define KMP_API_NAME_GOMP_LOOP_ORDERED_DYNAMIC_START \
526 GOMP_loop_ordered_dynamic_start
527#define KMP_API_NAME_GOMP_LOOP_ORDERED_GUIDED_NEXT GOMP_loop_ordered_guided_next
528#define KMP_API_NAME_GOMP_LOOP_ORDERED_GUIDED_START \
529 GOMP_loop_ordered_guided_start
530#define KMP_API_NAME_GOMP_LOOP_ORDERED_RUNTIME_NEXT \
531 GOMP_loop_ordered_runtime_next
532#define KMP_API_NAME_GOMP_LOOP_ORDERED_RUNTIME_START \
533 GOMP_loop_ordered_runtime_start
534#define KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_NEXT GOMP_loop_ordered_static_next
535#define KMP_API_NAME_GOMP_LOOP_ORDERED_STATIC_START \
536 GOMP_loop_ordered_static_start
537#define KMP_API_NAME_GOMP_LOOP_RUNTIME_NEXT GOMP_loop_runtime_next
538#define KMP_API_NAME_GOMP_LOOP_RUNTIME_START GOMP_loop_runtime_start
539#define KMP_API_NAME_GOMP_LOOP_STATIC_NEXT GOMP_loop_static_next
540#define KMP_API_NAME_GOMP_LOOP_STATIC_START GOMP_loop_static_start
541#define KMP_API_NAME_GOMP_ORDERED_END GOMP_ordered_end
542#define KMP_API_NAME_GOMP_ORDERED_START GOMP_ordered_start
543#define KMP_API_NAME_GOMP_PARALLEL_END GOMP_parallel_end
544#define KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC_START \
545 GOMP_parallel_loop_dynamic_start
546#define KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED_START \
547 GOMP_parallel_loop_guided_start
548#define KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME_START \
549 GOMP_parallel_loop_runtime_start
550#define KMP_API_NAME_GOMP_PARALLEL_LOOP_STATIC_START \
551 GOMP_parallel_loop_static_start
552#define KMP_API_NAME_GOMP_PARALLEL_SECTIONS_START GOMP_parallel_sections_start
553#define KMP_API_NAME_GOMP_PARALLEL_START GOMP_parallel_start
554#define KMP_API_NAME_GOMP_SECTIONS_END GOMP_sections_end
555#define KMP_API_NAME_GOMP_SECTIONS_END_NOWAIT GOMP_sections_end_nowait
556#define KMP_API_NAME_GOMP_SECTIONS_NEXT GOMP_sections_next
557#define KMP_API_NAME_GOMP_SECTIONS_START GOMP_sections_start
558#define KMP_API_NAME_GOMP_SINGLE_COPY_END GOMP_single_copy_end
559#define KMP_API_NAME_GOMP_SINGLE_COPY_START GOMP_single_copy_start
560#define KMP_API_NAME_GOMP_SINGLE_START GOMP_single_start
Jim Cownie181b4bb2013-12-23 17:28:57 +0000561
562// All GOMP_2.0 symbols
Jonathan Peyton30419822017-05-12 18:01:32 +0000563#define KMP_API_NAME_GOMP_TASK GOMP_task
564#define KMP_API_NAME_GOMP_TASKWAIT GOMP_taskwait
565#define KMP_API_NAME_GOMP_LOOP_ULL_DYNAMIC_NEXT GOMP_loop_ull_dynamic_next
566#define KMP_API_NAME_GOMP_LOOP_ULL_DYNAMIC_START GOMP_loop_ull_dynamic_start
567#define KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_NEXT GOMP_loop_ull_guided_next
568#define KMP_API_NAME_GOMP_LOOP_ULL_GUIDED_START GOMP_loop_ull_guided_start
569#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT \
570 GOMP_loop_ull_ordered_dynamic_next
571#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START \
572 GOMP_loop_ull_ordered_dynamic_start
573#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT \
574 GOMP_loop_ull_ordered_guided_next
575#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_GUIDED_START \
576 GOMP_loop_ull_ordered_guided_start
577#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT \
578 GOMP_loop_ull_ordered_runtime_next
579#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_RUNTIME_START \
580 GOMP_loop_ull_ordered_runtime_start
581#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT \
582 GOMP_loop_ull_ordered_static_next
583#define KMP_API_NAME_GOMP_LOOP_ULL_ORDERED_STATIC_START \
584 GOMP_loop_ull_ordered_static_start
585#define KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_NEXT GOMP_loop_ull_runtime_next
586#define KMP_API_NAME_GOMP_LOOP_ULL_RUNTIME_START GOMP_loop_ull_runtime_start
587#define KMP_API_NAME_GOMP_LOOP_ULL_STATIC_NEXT GOMP_loop_ull_static_next
588#define KMP_API_NAME_GOMP_LOOP_ULL_STATIC_START GOMP_loop_ull_static_start
Jim Cownie181b4bb2013-12-23 17:28:57 +0000589
590// All GOMP_3.0 symbols
Jonathan Peyton30419822017-05-12 18:01:32 +0000591#define KMP_API_NAME_GOMP_TASKYIELD GOMP_taskyield
Jim Cownie181b4bb2013-12-23 17:28:57 +0000592
Jonathan Peyton61118492016-05-20 19:03:38 +0000593// All GOMP_4.0 symbols
Jonathan Peyton30419822017-05-12 18:01:32 +0000594// TODO: As of 2013-10-14, none of the GOMP_4.0 functions are implemented in
595// libomp
596#define KMP_API_NAME_GOMP_BARRIER_CANCEL GOMP_barrier_cancel
597#define KMP_API_NAME_GOMP_CANCEL GOMP_cancel
598#define KMP_API_NAME_GOMP_CANCELLATION_POINT GOMP_cancellation_point
599#define KMP_API_NAME_GOMP_LOOP_END_CANCEL GOMP_loop_end_cancel
600#define KMP_API_NAME_GOMP_PARALLEL_LOOP_DYNAMIC GOMP_parallel_loop_dynamic
601#define KMP_API_NAME_GOMP_PARALLEL_LOOP_GUIDED GOMP_parallel_loop_guided
602#define KMP_API_NAME_GOMP_PARALLEL_LOOP_RUNTIME GOMP_parallel_loop_runtime
603#define KMP_API_NAME_GOMP_PARALLEL_LOOP_STATIC GOMP_parallel_loop_static
604#define KMP_API_NAME_GOMP_PARALLEL_SECTIONS GOMP_parallel_sections
605#define KMP_API_NAME_GOMP_PARALLEL GOMP_parallel
606#define KMP_API_NAME_GOMP_SECTIONS_END_CANCEL GOMP_sections_end_cancel
607#define KMP_API_NAME_GOMP_TASKGROUP_START GOMP_taskgroup_start
608#define KMP_API_NAME_GOMP_TASKGROUP_END GOMP_taskgroup_end
Jim Cownie181b4bb2013-12-23 17:28:57 +0000609/* Target functions should be taken care of by liboffload */
Jonathan Peyton30419822017-05-12 18:01:32 +0000610#define KMP_API_NAME_GOMP_TARGET GOMP_target
611#define KMP_API_NAME_GOMP_TARGET_DATA GOMP_target_data
612#define KMP_API_NAME_GOMP_TARGET_END_DATA GOMP_target_end_data
613#define KMP_API_NAME_GOMP_TARGET_UPDATE GOMP_target_update
614#define KMP_API_NAME_GOMP_TEAMS GOMP_teams
Jim Cownie181b4bb2013-12-23 17:28:57 +0000615
Jonathan Peyton27a677f2018-04-18 19:23:54 +0000616// All GOMP_4.5 symbols
617#define KMP_API_NAME_GOMP_TASKLOOP GOMP_taskloop
618#define KMP_API_NAME_GOMP_TASKLOOP_ULL GOMP_taskloop_ull
619
Jim Cownie5e8470a2013-09-27 10:38:44 +0000620#endif /* KMP_FTN_OS_H */