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
// 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
14
#ifndef KMP_FTN_OS_H
15
#define KMP_FTN_OS_H
16
17
// KMP_FNT_ENTRIES may be one of: KMP_FTN_PLAIN, KMP_FTN_UPPER, KMP_FTN_APPEND,
18
// KMP_FTN_UAPPEND.
19
20
/* -------------------------- External definitions ------------------------ */
21
22
#if KMP_FTN_ENTRIES == KMP_FTN_PLAIN
23
24
#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
45
46
#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
51
52
#define FTN_GET_NUM_KNOWN_THREADS kmp_get_num_known_threads
53
54
#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
74
// #define FTN_SET_PROC_BIND omp_set_proc_bind
75
#define FTN_GET_PROC_BIND omp_get_proc_bind
76
// #define FTN_CURR_PROC_BIND omp_curr_proc_bind
77
#if OMP_40_ENABLED
78
#define FTN_GET_NUM_TEAMS omp_get_num_teams
79
#define FTN_GET_TEAM_NUM omp_get_team_num
80
#endif
81
#define FTN_INIT_LOCK omp_init_lock
82
#if KMP_USE_DYNAMIC_LOCK
83
#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
85
#endif
86
#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
95
96
#define FTN_SET_WARNINGS_ON kmp_set_warnings_on
97
#define FTN_SET_WARNINGS_OFF kmp_set_warnings_off
98
99
#define FTN_GET_WTIME omp_get_wtime
100
#define FTN_GET_WTICK omp_get_wtick
101
102
#if OMP_40_ENABLED
103
#if KMP_MIC || KMP_OS_DARWIN || defined(KMP_STUB)
104
#define FTN_GET_NUM_DEVICES omp_get_num_devices
105
#endif
106
#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
109
#endif
110
111
#if OMP_40_ENABLED
112
#define FTN_GET_CANCELLATION omp_get_cancellation
113
#define FTN_GET_CANCELLATION_STATUS kmp_get_cancellation_status
114
#endif
115
116
#if OMP_45_ENABLED
117
#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
134
#endif
135
136
#if OMP_50_ENABLED
137
#define FTN_CONTROL_TOOL omp_control_tool
138
#endif
139
140
#endif
/* KMP_FTN_PLAIN */
141
142
/* ------------------------------------------------------------------------ */
143
144
#if KMP_FTN_ENTRIES == KMP_FTN_APPEND
145
146
#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_
167
168
#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_
173
174
#define FTN_GET_NUM_KNOWN_THREADS kmp_get_num_known_threads_
175
176
#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_
196
// #define FTN_SET_PROC_BIND omp_set_proc_bind_
197
#define FTN_GET_PROC_BIND omp_get_proc_bind_
198
// #define FTN_CURR_PROC_BIND omp_curr_proc_bind_
199
#if OMP_40_ENABLED
200
#define FTN_GET_NUM_TEAMS omp_get_num_teams_
201
#define FTN_GET_TEAM_NUM omp_get_team_num_
202
#endif
203
#define FTN_INIT_LOCK omp_init_lock_
204
#if KMP_USE_DYNAMIC_LOCK
205
#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_
207
#endif
208
#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_
217
218
#define FTN_SET_WARNINGS_ON kmp_set_warnings_on_
219
#define FTN_SET_WARNINGS_OFF kmp_set_warnings_off_
220
221
#define FTN_GET_WTIME omp_get_wtime_
222
#define FTN_GET_WTICK omp_get_wtick_
223
224
#if OMP_40_ENABLED
225
#if KMP_MIC || KMP_OS_DARWIN || defined(KMP_STUB)
226
#define FTN_GET_NUM_DEVICES omp_get_num_devices_
227
#endif
228
#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_
231
#endif
232
233
#if OMP_40_ENABLED
234
#define FTN_GET_CANCELLATION omp_get_cancellation_
235
#define FTN_GET_CANCELLATION_STATUS kmp_get_cancellation_status_
236
#endif
237
238
#if OMP_45_ENABLED
239
#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
256
#endif
257
258
#if OMP_50_ENABLED
259
#define FTN_CONTROL_TOOL OMP_CONTROL_TOOL
260
#endif
261
262
#endif
/* KMP_FTN_APPEND */
263
264
/* ------------------------------------------------------------------------ */
265
266
#if KMP_FTN_ENTRIES == KMP_FTN_UPPER
267
268
#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
289
290
#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
295
296
#define FTN_GET_NUM_KNOWN_THREADS KMP_GET_NUM_KNOWN_THREADS
297
298
#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
318
// #define FTN_SET_PROC_BIND OMP_SET_PROC_BIND
319
#define FTN_GET_PROC_BIND OMP_GET_PROC_BIND
320
// #define FTN_CURR_PROC_BIND OMP_CURR_PROC_BIND
321
#if OMP_40_ENABLED
322
#define FTN_GET_NUM_TEAMS OMP_GET_NUM_TEAMS
323
#define FTN_GET_TEAM_NUM OMP_GET_TEAM_NUM
324
#endif
325
#define FTN_INIT_LOCK OMP_INIT_LOCK
326
#if KMP_USE_DYNAMIC_LOCK
327
#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
329
#endif
330
#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
339
340
#define FTN_SET_WARNINGS_ON KMP_SET_WARNINGS_ON
341
#define FTN_SET_WARNINGS_OFF KMP_SET_WARNINGS_OFF
342
343
#define FTN_GET_WTIME OMP_GET_WTIME
344
#define FTN_GET_WTICK OMP_GET_WTICK
345
346
#if OMP_40_ENABLED
347
#if KMP_MIC || KMP_OS_DARWIN || defined(KMP_STUB)
348
#define FTN_GET_NUM_DEVICES OMP_GET_NUM_DEVICES
349
#endif
350
#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
353
#endif
354
355
#if OMP_40_ENABLED
356
#define FTN_GET_CANCELLATION OMP_GET_CANCELLATION
357
#define FTN_GET_CANCELLATION_STATUS KMP_GET_CANCELLATION_STATUS
358
#endif
359
360
#if OMP_45_ENABLED
361
#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
378
#endif
379
380
#if OMP_50_ENABLED
381
#define FTN_CONTROL_TOOL OMP_CONTROL_TOOL
382
#endif
383
384
#endif
/* KMP_FTN_UPPER */
385
386
/* ------------------------------------------------------------------------ */
387
388
#if KMP_FTN_ENTRIES == KMP_FTN_UAPPEND
389
390
#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_
411
412
#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_
417
418
#define FTN_GET_NUM_KNOWN_THREADS KMP_GET_NUM_KNOWN_THREADS_
419
420
#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_
440
// #define FTN_SET_PROC_BIND OMP_SET_PROC_BIND_
441
#define FTN_GET_PROC_BIND OMP_GET_PROC_BIND_
442
// #define FTN_CURR_PROC_BIND OMP_CURR_PROC_BIND_
443
#if OMP_40_ENABLED
444
#define FTN_GET_NUM_TEAMS OMP_GET_NUM_TEAMS_
445
#define FTN_GET_TEAM_NUM OMP_GET_TEAM_NUM_
446
#endif
447
#define FTN_INIT_LOCK OMP_INIT_LOCK_
448
#if KMP_USE_DYNAMIC_LOCK
449
#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_
451
#endif
452
#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_
461
462
#define FTN_SET_WARNINGS_ON KMP_SET_WARNINGS_ON_
463
#define FTN_SET_WARNINGS_OFF KMP_SET_WARNINGS_OFF_
464
465
#define FTN_GET_WTIME OMP_GET_WTIME_
466
#define FTN_GET_WTICK OMP_GET_WTICK_
467
468
#if OMP_40_ENABLED
469
#if KMP_MIC || KMP_OS_DARWIN || defined(KMP_STUB)
470
#define FTN_GET_NUM_DEVICES OMP_GET_NUM_DEVICES_
471
#endif
472
#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_
475
#endif
476
477
#if OMP_40_ENABLED
478
#define FTN_GET_CANCELLATION OMP_GET_CANCELLATION_
479
#define FTN_GET_CANCELLATION_STATUS KMP_GET_CANCELLATION_STATUS_
480
#endif
481
482
#if OMP_45_ENABLED
483
#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
500
#endif
501
502
#if OMP_50_ENABLED
503
#define FTN_CONTROL_TOOL OMP_CONTROL_TOOL_
504
#endif
505
506
#endif
/* KMP_FTN_UAPPEND */
507
508
/* -------------------------- GOMP API NAMES ------------------------ */
509
// All GOMP_1.0 symbols
510
#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
561
562
// All GOMP_2.0 symbols
563
#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
589
590
// All GOMP_3.0 symbols
591
#define KMP_API_NAME_GOMP_TASKYIELD GOMP_taskyield
592
593
// All GOMP_4.0 symbols
594
// 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
609
/* Target functions should be taken care of by liboffload */
610
#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
615
616
// 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
#define KMP_API_NAME_GOMP_DOACROSS_POST GOMP_doacross_post
620
#define KMP_API_NAME_GOMP_DOACROSS_WAIT GOMP_doacross_wait
621
#define KMP_API_NAME_GOMP_LOOP_DOACROSS_STATIC_START \
622
GOMP_loop_doacross_static_start
623
#define KMP_API_NAME_GOMP_LOOP_DOACROSS_DYNAMIC_START \
624
GOMP_loop_doacross_dynamic_start
625
#define KMP_API_NAME_GOMP_LOOP_DOACROSS_GUIDED_START \
626
GOMP_loop_doacross_guided_start
627
#define KMP_API_NAME_GOMP_LOOP_DOACROSS_RUNTIME_START \
628
GOMP_loop_doacross_runtime_start
629
#define KMP_API_NAME_GOMP_DOACROSS_ULL_POST GOMP_doacross_ull_post
630
#define KMP_API_NAME_GOMP_DOACROSS_ULL_WAIT GOMP_doacross_ull_wait
631
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_STATIC_START \
632
GOMP_loop_ull_doacross_static_start
633
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START \
634
GOMP_loop_ull_doacross_dynamic_start
635
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_GUIDED_START \
636
GOMP_loop_ull_doacross_guided_start
637
#define KMP_API_NAME_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START \
638
GOMP_loop_ull_doacross_runtime_start
639
640
#endif
/* KMP_FTN_OS_H */
Generated by
1.8.13