LLVM OpenMP* Runtime Library
src
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 */
Generated by
1.8.13