kmp_ftn_os.h 34 KB

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