17 # error The support file kmp_ftn_entry.h should not be compiled by itself. 40 #ifdef KMP_GOMP_COMPAT 41 # if (KMP_FTN_ENTRIES == KMP_FTN_PLAIN) || (KMP_FTN_ENTRIES == KMP_FTN_UPPER) 42 # define PASS_ARGS_BY_VALUE 1 46 # if (KMP_FTN_ENTRIES == KMP_FTN_PLAIN) || (KMP_FTN_ENTRIES == KMP_FTN_APPEND) 47 # define PASS_ARGS_BY_VALUE 1 52 #ifdef PASS_ARGS_BY_VALUE 59 FTN_SET_STACKSIZE(
int KMP_DEREF arg )
62 __kmps_set_stacksize( KMP_DEREF arg );
65 __kmp_aux_set_stacksize( (
size_t) KMP_DEREF arg );
70 FTN_SET_STACKSIZE_S(
size_t KMP_DEREF arg )
73 __kmps_set_stacksize( KMP_DEREF arg );
76 __kmp_aux_set_stacksize( KMP_DEREF arg );
81 FTN_GET_STACKSIZE(
void )
84 return __kmps_get_stacksize();
86 if ( ! __kmp_init_serial ) {
87 __kmp_serial_initialize();
89 return (
int)__kmp_stksize;
94 FTN_GET_STACKSIZE_S(
void )
97 return __kmps_get_stacksize();
99 if ( ! __kmp_init_serial ) {
100 __kmp_serial_initialize();
102 return __kmp_stksize;
107 FTN_SET_BLOCKTIME(
int KMP_DEREF arg )
110 __kmps_set_blocktime( KMP_DEREF arg );
115 gtid = __kmp_entry_gtid();
116 tid = __kmp_tid_from_gtid(gtid);
117 thread = __kmp_thread_from_gtid(gtid);
119 __kmp_aux_set_blocktime( KMP_DEREF arg, thread, tid );
124 FTN_GET_BLOCKTIME(
void )
127 return __kmps_get_blocktime();
133 gtid = __kmp_entry_gtid();
134 tid = __kmp_tid_from_gtid(gtid);
135 thread = __kmp_thread_from_gtid(gtid);
136 team = __kmp_threads[ gtid ] -> th.th_team;
139 if ( __kmp_dflt_blocktime == KMP_MAX_BLOCKTIME ) {
140 KF_TRACE(10, (
"kmp_get_blocktime: T#%d(%d:%d), blocktime=%d\n",
141 gtid, team->t.t_id, tid, KMP_MAX_BLOCKTIME) );
142 return KMP_MAX_BLOCKTIME;
144 #ifdef KMP_ADJUST_BLOCKTIME 145 else if ( __kmp_zero_bt && !get__bt_set( team, tid ) ) {
146 KF_TRACE(10, (
"kmp_get_blocktime: T#%d(%d:%d), blocktime=%d\n",
147 gtid, team->t.t_id, tid, 0) );
152 KF_TRACE(10, (
"kmp_get_blocktime: T#%d(%d:%d), blocktime=%d\n",
153 gtid, team->t.t_id, tid, get__blocktime( team, tid ) ) );
154 return get__blocktime( team, tid );
160 FTN_SET_LIBRARY_SERIAL(
void )
163 __kmps_set_library( library_serial );
166 __kmp_user_set_library( library_serial );
171 FTN_SET_LIBRARY_TURNAROUND(
void )
174 __kmps_set_library( library_turnaround );
177 __kmp_user_set_library( library_turnaround );
182 FTN_SET_LIBRARY_THROUGHPUT(
void )
185 __kmps_set_library( library_throughput );
188 __kmp_user_set_library( library_throughput );
193 FTN_SET_LIBRARY(
int KMP_DEREF arg )
196 __kmps_set_library( KMP_DEREF arg );
198 enum library_type lib;
199 lib = (
enum library_type) KMP_DEREF arg;
201 __kmp_user_set_library( lib );
206 FTN_GET_LIBRARY (
void)
209 return __kmps_get_library();
211 if ( ! __kmp_init_serial ) {
212 __kmp_serial_initialize();
214 return ((
int) __kmp_library);
219 FTN_SET_AFFINITY(
void **mask )
221 #if defined(KMP_STUB) || !KMP_AFFINITY_SUPPORTED 224 if ( ! TCR_4(__kmp_init_middle) ) {
225 __kmp_middle_initialize();
227 return __kmp_aux_set_affinity( mask );
232 FTN_GET_AFFINITY(
void **mask )
234 #if defined(KMP_STUB) || !KMP_AFFINITY_SUPPORTED 237 if ( ! TCR_4(__kmp_init_middle) ) {
238 __kmp_middle_initialize();
240 return __kmp_aux_get_affinity( mask );
245 FTN_GET_AFFINITY_MAX_PROC(
void )
247 #if defined(KMP_STUB) || !KMP_AFFINITY_SUPPORTED 253 if ( ! TCR_4(__kmp_init_middle) ) {
254 __kmp_middle_initialize();
256 if ( ! ( KMP_AFFINITY_CAPABLE() ) ) {
260 #if KMP_GROUP_AFFINITY 261 if ( __kmp_num_proc_groups > 1 ) {
262 return (
int)KMP_CPU_SETSIZE;
270 FTN_CREATE_AFFINITY_MASK(
void **mask )
272 #if defined(KMP_STUB) || !KMP_AFFINITY_SUPPORTED 278 if ( ! TCR_4(__kmp_init_middle) ) {
279 __kmp_middle_initialize();
281 *mask = kmpc_malloc( __kmp_affin_mask_size );
282 KMP_CPU_ZERO( (kmp_affin_mask_t *)(*mask) );
287 FTN_DESTROY_AFFINITY_MASK(
void **mask )
289 #if defined(KMP_STUB) || !KMP_AFFINITY_SUPPORTED 295 if ( ! TCR_4(__kmp_init_middle) ) {
296 __kmp_middle_initialize();
298 if ( __kmp_env_consistency_check ) {
299 if ( *mask == NULL ) {
300 KMP_FATAL( AffinityInvalidMask,
"kmp_destroy_affinity_mask" );
309 FTN_SET_AFFINITY_MASK_PROC(
int KMP_DEREF proc,
void **mask )
311 #if defined(KMP_STUB) || !KMP_AFFINITY_SUPPORTED 314 if ( ! TCR_4(__kmp_init_middle) ) {
315 __kmp_middle_initialize();
317 return __kmp_aux_set_affinity_mask_proc( KMP_DEREF proc, mask );
322 FTN_UNSET_AFFINITY_MASK_PROC(
int KMP_DEREF proc,
void **mask )
324 #if defined(KMP_STUB) || !KMP_AFFINITY_SUPPORTED 327 if ( ! TCR_4(__kmp_init_middle) ) {
328 __kmp_middle_initialize();
330 return __kmp_aux_unset_affinity_mask_proc( KMP_DEREF proc, mask );
335 FTN_GET_AFFINITY_MASK_PROC(
int KMP_DEREF proc,
void **mask )
337 #if defined(KMP_STUB) || !KMP_AFFINITY_SUPPORTED 340 if ( ! TCR_4(__kmp_init_middle) ) {
341 __kmp_middle_initialize();
343 return __kmp_aux_get_affinity_mask_proc( KMP_DEREF proc, mask );
353 xexpand(FTN_SET_NUM_THREADS)(
int KMP_DEREF arg )
358 __kmp_set_num_threads( KMP_DEREF arg, __kmp_entry_gtid() );
365 xexpand(FTN_GET_NUM_THREADS)( void )
376 xexpand(FTN_GET_MAX_THREADS)( void )
383 if ( ! TCR_4(__kmp_init_middle) ) {
384 __kmp_middle_initialize();
386 gtid = __kmp_entry_gtid();
387 thread = __kmp_threads[ gtid ];
389 return thread -> th.th_current_task -> td_icvs.nproc;
394 xexpand(FTN_GET_THREAD_NUM)( void )
401 #if KMP_OS_DARWIN || KMP_OS_FREEBSD 402 gtid = __kmp_entry_gtid();
404 if (!__kmp_init_parallel ||
405 (gtid = (
int)((kmp_intptr_t)TlsGetValue( __kmp_gtid_threadprivate_key ))) == 0) {
412 #ifdef KMP_TDATA_GTID 413 if ( __kmp_gtid_mode >= 3 ) {
414 if ((gtid = __kmp_gtid) == KMP_GTID_DNE) {
419 if (!__kmp_init_parallel ||
420 (gtid = (kmp_intptr_t)(pthread_getspecific( __kmp_gtid_threadprivate_key ))) == 0) {
424 #ifdef KMP_TDATA_GTID 428 #error Unknown or unsupported OS 431 return __kmp_tid_from_gtid( gtid );
436 FTN_GET_NUM_KNOWN_THREADS(
void )
441 if ( ! __kmp_init_serial ) {
442 __kmp_serial_initialize();
446 return TCR_4(__kmp_nth);
451 xexpand(FTN_GET_NUM_PROCS)( void )
456 if ( ! TCR_4(__kmp_init_middle) ) {
457 __kmp_middle_initialize();
459 return __kmp_avail_proc;
464 xexpand(FTN_SET_NESTED)(
int KMP_DEREF flag )
467 __kmps_set_nested( KMP_DEREF flag );
471 thread = __kmp_entry_thread();
472 __kmp_save_internal_controls( thread );
473 set__nested( thread, ( (KMP_DEREF flag) ? TRUE : FALSE ) );
479 xexpand(FTN_GET_NESTED)( void )
482 return __kmps_get_nested();
485 thread = __kmp_entry_thread();
486 return get__nested( thread );
491 xexpand(FTN_SET_DYNAMIC)(
int KMP_DEREF flag )
494 __kmps_set_dynamic( KMP_DEREF flag ? TRUE : FALSE );
498 thread = __kmp_entry_thread();
500 __kmp_save_internal_controls( thread );
501 set__dynamic( thread, KMP_DEREF flag ? TRUE : FALSE );
507 xexpand(FTN_GET_DYNAMIC)( void )
510 return __kmps_get_dynamic();
513 thread = __kmp_entry_thread();
514 return get__dynamic( thread );
519 xexpand(FTN_IN_PARALLEL)( void )
524 kmp_info_t *th = __kmp_entry_thread();
526 if ( th->th.th_teams_microtask ) {
531 return ( th->th.th_team->t.t_active_level ? 1 : 0 );
535 return ( th->th.th_root->r.r_in_parallel ? FTN_TRUE : FTN_FALSE );
540 xexpand(FTN_SET_SCHEDULE)( kmp_sched_t KMP_DEREF kind,
int KMP_DEREF modifier )
543 __kmps_set_schedule( KMP_DEREF kind, KMP_DEREF modifier );
547 __kmp_set_schedule( __kmp_entry_gtid(), KMP_DEREF kind, KMP_DEREF modifier );
552 xexpand(FTN_GET_SCHEDULE)( kmp_sched_t * kind,
int * modifier )
555 __kmps_get_schedule( kind, modifier );
559 __kmp_get_schedule( __kmp_entry_gtid(), kind, modifier );
564 xexpand(FTN_SET_MAX_ACTIVE_LEVELS)(
int KMP_DEREF arg )
571 __kmp_set_max_active_levels( __kmp_entry_gtid(), KMP_DEREF arg );
576 xexpand(FTN_GET_MAX_ACTIVE_LEVELS)( void )
583 return __kmp_get_max_active_levels( __kmp_entry_gtid() );
588 xexpand(FTN_GET_ACTIVE_LEVEL)( void )
595 return __kmp_entry_thread() -> th.th_team -> t.t_active_level;
600 xexpand(FTN_GET_LEVEL)( void )
607 return __kmp_entry_thread() -> th.th_team -> t.t_level;
612 xexpand(FTN_GET_ANCESTOR_THREAD_NUM)(
int KMP_DEREF level )
615 return ( KMP_DEREF level ) ? ( -1 ) : ( 0 );
617 return __kmp_get_ancestor_thread_num( __kmp_entry_gtid(), KMP_DEREF level );
622 xexpand(FTN_GET_TEAM_SIZE)(
int KMP_DEREF level )
625 return ( KMP_DEREF level ) ? ( -1 ) : ( 1 );
627 return __kmp_get_team_size( __kmp_entry_gtid(), KMP_DEREF level );
632 xexpand(FTN_GET_THREAD_LIMIT)( void )
637 if ( ! __kmp_init_serial ) {
638 __kmp_serial_initialize();
641 return __kmp_max_nth;
646 xexpand(FTN_IN_FINAL)( void )
651 if ( ! TCR_4(__kmp_init_parallel) ) {
654 return __kmp_entry_thread() -> th.th_current_task -> td_flags.final;
661 kmp_proc_bind_t FTN_STDCALL
662 xexpand(FTN_GET_PROC_BIND)( void )
665 return __kmps_get_proc_bind();
667 return get__proc_bind( __kmp_entry_thread() );
672 xexpand(FTN_GET_NUM_TEAMS)( void )
677 kmp_info_t *thr = __kmp_entry_thread();
678 if ( thr->th.th_teams_microtask ) {
679 kmp_team_t *team = thr->th.th_team;
680 int tlevel = thr->th.th_teams_level;
681 int ii = team->t.t_level;
682 int dd = team -> t.t_serialized;
683 int level = tlevel + 1;
684 KMP_DEBUG_ASSERT( ii >= tlevel );
687 for( dd = team -> t.t_serialized; ( dd > 0 ) && ( ii > level ); dd--, ii-- )
690 if( team -> t.t_serialized && ( !dd ) ) {
691 team = team->t.t_parent;
695 team = team->t.t_parent;
702 return team->t.t_parent->t.t_nproc;
711 xexpand(FTN_GET_TEAM_NUM)( void )
716 kmp_info_t *thr = __kmp_entry_thread();
717 if ( thr->th.th_teams_microtask ) {
718 kmp_team_t *team = thr->th.th_team;
719 int tlevel = thr->th.th_teams_level;
720 int ii = team->t.t_level;
721 int dd = team -> t.t_serialized;
722 int level = tlevel + 1;
723 KMP_DEBUG_ASSERT( ii >= tlevel );
726 for( dd = team -> t.t_serialized; ( dd > 0 ) && ( ii > level ); dd--, ii-- )
729 if( team -> t.t_serialized && ( !dd ) ) {
730 team = team->t.t_parent;
734 team = team->t.t_parent;
741 return team->t.t_master_tid;
749 #if KMP_MIC || KMP_OS_DARWIN 751 static int __kmp_default_device = 0;
754 FTN_GET_DEFAULT_DEVICE(
void )
756 return __kmp_default_device;
760 FTN_SET_DEFAULT_DEVICE(
int KMP_DEREF arg )
762 __kmp_default_device = KMP_DEREF arg;
766 FTN_GET_NUM_DEVICES(
void )
771 #endif // KMP_MIC || KMP_OS_DARWIN 776 xexpand(FTN_IS_INITIAL_DEVICE)( void )
785 int _Offload_get_device_number(
void ) __attribute__((weak));
788 xexpand(FTN_IS_INITIAL_DEVICE)(
void )
790 if( _Offload_get_device_number ) {
791 return _Offload_get_device_number() == -1;
797 #endif // ! KMP_OS_LINUX 799 #endif // OMP_40_ENABLED 802 typedef enum { UNINIT = -1, UNLOCKED, LOCKED } kmp_stub_lock_t;
805 #if KMP_USE_DYNAMIC_LOCK 807 FTN_INIT_LOCK_HINTED(
void **user_lock,
int KMP_DEREF hint )
810 *((kmp_stub_lock_t *)user_lock) = UNLOCKED;
812 __kmp_init_lock_hinted( user_lock, KMP_DEREF hint );
817 FTN_INIT_NEST_LOCK_HINTED(
void **user_lock,
int KMP_DEREF hint )
820 *((kmp_stub_lock_t *)user_lock) = UNLOCKED;
822 __kmp_init_nest_lock_hinted( user_lock, KMP_DEREF hint );
829 xexpand(FTN_INIT_LOCK)(
void **user_lock )
832 *((kmp_stub_lock_t *)user_lock) = UNLOCKED;
834 __kmpc_init_lock( NULL, __kmp_entry_gtid(), user_lock );
840 xexpand(FTN_INIT_NEST_LOCK)(
void **user_lock )
843 *((kmp_stub_lock_t *)user_lock) = UNLOCKED;
845 __kmpc_init_nest_lock( NULL, __kmp_entry_gtid(), user_lock );
850 xexpand(FTN_DESTROY_LOCK)(
void **user_lock )
853 *((kmp_stub_lock_t *)user_lock) = UNINIT;
855 __kmpc_destroy_lock( NULL, __kmp_entry_gtid(), user_lock );
860 xexpand(FTN_DESTROY_NEST_LOCK)(
void **user_lock )
863 *((kmp_stub_lock_t *)user_lock) = UNINIT;
865 __kmpc_destroy_nest_lock( NULL, __kmp_entry_gtid(), user_lock );
870 xexpand(FTN_SET_LOCK)(
void **user_lock )
873 if ( *((kmp_stub_lock_t *)user_lock) == UNINIT ) {
876 if ( *((kmp_stub_lock_t *)user_lock) != UNLOCKED ) {
879 *((kmp_stub_lock_t *)user_lock) = LOCKED;
881 __kmpc_set_lock( NULL, __kmp_entry_gtid(), user_lock );
886 xexpand(FTN_SET_NEST_LOCK)(
void **user_lock )
889 if ( *((kmp_stub_lock_t *)user_lock) == UNINIT ) {
892 (*((
int *)user_lock))++;
894 __kmpc_set_nest_lock( NULL, __kmp_entry_gtid(), user_lock );
899 xexpand(FTN_UNSET_LOCK)(
void **user_lock )
902 if ( *((kmp_stub_lock_t *)user_lock) == UNINIT ) {
905 if ( *((kmp_stub_lock_t *)user_lock) == UNLOCKED ) {
908 *((kmp_stub_lock_t *)user_lock) = UNLOCKED;
910 __kmpc_unset_lock( NULL, __kmp_entry_gtid(), user_lock );
915 xexpand(FTN_UNSET_NEST_LOCK)(
void **user_lock )
918 if ( *((kmp_stub_lock_t *)user_lock) == UNINIT ) {
921 if ( *((kmp_stub_lock_t *)user_lock) == UNLOCKED ) {
924 (*((
int *)user_lock))--;
926 __kmpc_unset_nest_lock( NULL, __kmp_entry_gtid(), user_lock );
931 xexpand(FTN_TEST_LOCK)(
void **user_lock )
934 if ( *((kmp_stub_lock_t *)user_lock) == UNINIT ) {
937 if ( *((kmp_stub_lock_t *)user_lock) == LOCKED ) {
940 *((kmp_stub_lock_t *)user_lock) = LOCKED;
943 return __kmpc_test_lock( NULL, __kmp_entry_gtid(), user_lock );
948 xexpand(FTN_TEST_NEST_LOCK)(
void **user_lock )
951 if ( *((kmp_stub_lock_t *)user_lock) == UNINIT ) {
954 return ++(*((
int *)user_lock));
956 return __kmpc_test_nest_lock( NULL, __kmp_entry_gtid(), user_lock );
961 xexpand(FTN_GET_WTIME)( void )
964 return __kmps_get_wtime();
970 if ( ! __kmp_init_serial ) {
971 __kmp_serial_initialize();
974 __kmp_elapsed( & data );
980 xexpand(FTN_GET_WTICK)( void )
983 return __kmps_get_wtick();
986 if ( ! __kmp_init_serial ) {
987 __kmp_serial_initialize();
989 __kmp_elapsed_tick( & data );
997 FTN_MALLOC(
size_t KMP_DEREF size )
1000 return kmpc_malloc( KMP_DEREF size );
1004 FTN_CALLOC(
size_t KMP_DEREF nelem,
size_t KMP_DEREF elsize )
1007 return kmpc_calloc( KMP_DEREF nelem, KMP_DEREF elsize );
1011 FTN_REALLOC(
void * KMP_DEREF ptr,
size_t KMP_DEREF size )
1014 return kmpc_realloc( KMP_DEREF ptr, KMP_DEREF size );
1018 FTN_FREE(
void * KMP_DEREF ptr )
1021 kmpc_free( KMP_DEREF ptr );
1025 FTN_SET_WARNINGS_ON(
void )
1028 __kmp_generate_warnings = kmp_warnings_explicit;
1033 FTN_SET_WARNINGS_OFF(
void )
1036 __kmp_generate_warnings = FALSE;
1041 FTN_SET_DEFAULTS(
char const * str
1042 #ifndef PASS_ARGS_BY_VALUE
1048 #ifdef PASS_ARGS_BY_VALUE 1049 int len = (int)KMP_STRLEN( str );
1051 __kmp_aux_set_defaults( str, len );
1061 xexpand(FTN_GET_CANCELLATION)(void) {
1066 if ( ! __kmp_init_serial ) {
1067 __kmp_serial_initialize();
1069 return __kmp_omp_cancellation;
1074 FTN_GET_CANCELLATION_STATUS(
int cancel_kind) {
1078 return __kmp_get_cancellation_status(cancel_kind);
1082 #endif // OMP_40_ENABLED 1085 #ifdef KMP_USE_VERSION_SYMBOLS 1104 xaliasify(FTN_SET_NUM_THREADS, 10);
1105 xaliasify(FTN_GET_NUM_THREADS, 10);
1106 xaliasify(FTN_GET_MAX_THREADS, 10);
1107 xaliasify(FTN_GET_THREAD_NUM, 10);
1108 xaliasify(FTN_GET_NUM_PROCS, 10);
1109 xaliasify(FTN_IN_PARALLEL, 10);
1110 xaliasify(FTN_SET_DYNAMIC, 10);
1111 xaliasify(FTN_GET_DYNAMIC, 10);
1112 xaliasify(FTN_SET_NESTED, 10);
1113 xaliasify(FTN_GET_NESTED, 10);
1114 xaliasify(FTN_INIT_LOCK, 10);
1115 xaliasify(FTN_INIT_NEST_LOCK, 10);
1116 xaliasify(FTN_DESTROY_LOCK, 10);
1117 xaliasify(FTN_DESTROY_NEST_LOCK, 10);
1118 xaliasify(FTN_SET_LOCK, 10);
1119 xaliasify(FTN_SET_NEST_LOCK, 10);
1120 xaliasify(FTN_UNSET_LOCK, 10);
1121 xaliasify(FTN_UNSET_NEST_LOCK, 10);
1122 xaliasify(FTN_TEST_LOCK, 10);
1123 xaliasify(FTN_TEST_NEST_LOCK, 10);
1126 xaliasify(FTN_GET_WTICK, 20);
1127 xaliasify(FTN_GET_WTIME, 20);
1130 xaliasify(FTN_SET_SCHEDULE, 30);
1131 xaliasify(FTN_GET_SCHEDULE, 30);
1132 xaliasify(FTN_GET_THREAD_LIMIT, 30);
1133 xaliasify(FTN_SET_MAX_ACTIVE_LEVELS, 30);
1134 xaliasify(FTN_GET_MAX_ACTIVE_LEVELS, 30);
1135 xaliasify(FTN_GET_LEVEL, 30);
1136 xaliasify(FTN_GET_ANCESTOR_THREAD_NUM, 30);
1137 xaliasify(FTN_GET_TEAM_SIZE, 30);
1138 xaliasify(FTN_GET_ACTIVE_LEVEL, 30);
1139 xaliasify(FTN_INIT_LOCK, 30);
1140 xaliasify(FTN_INIT_NEST_LOCK, 30);
1141 xaliasify(FTN_DESTROY_LOCK, 30);
1142 xaliasify(FTN_DESTROY_NEST_LOCK, 30);
1143 xaliasify(FTN_SET_LOCK, 30);
1144 xaliasify(FTN_SET_NEST_LOCK, 30);
1145 xaliasify(FTN_UNSET_LOCK, 30);
1146 xaliasify(FTN_UNSET_NEST_LOCK, 30);
1147 xaliasify(FTN_TEST_LOCK, 30);
1148 xaliasify(FTN_TEST_NEST_LOCK, 30);
1151 xaliasify(FTN_IN_FINAL, 31);
1155 xaliasify(FTN_GET_PROC_BIND, 40);
1156 xaliasify(FTN_GET_NUM_TEAMS, 40);
1157 xaliasify(FTN_GET_TEAM_NUM, 40);
1158 xaliasify(FTN_GET_CANCELLATION, 40);
1159 xaliasify(FTN_IS_INITIAL_DEVICE, 40);
1171 xversionify(FTN_SET_NUM_THREADS, 10,
"OMP_1.0");
1172 xversionify(FTN_GET_NUM_THREADS, 10,
"OMP_1.0");
1173 xversionify(FTN_GET_MAX_THREADS, 10,
"OMP_1.0");
1174 xversionify(FTN_GET_THREAD_NUM, 10,
"OMP_1.0");
1175 xversionify(FTN_GET_NUM_PROCS, 10,
"OMP_1.0");
1176 xversionify(FTN_IN_PARALLEL, 10,
"OMP_1.0");
1177 xversionify(FTN_SET_DYNAMIC, 10,
"OMP_1.0");
1178 xversionify(FTN_GET_DYNAMIC, 10,
"OMP_1.0");
1179 xversionify(FTN_SET_NESTED, 10,
"OMP_1.0");
1180 xversionify(FTN_GET_NESTED, 10,
"OMP_1.0");
1181 xversionify(FTN_INIT_LOCK, 10,
"OMP_1.0");
1182 xversionify(FTN_INIT_NEST_LOCK, 10,
"OMP_1.0");
1183 xversionify(FTN_DESTROY_LOCK, 10,
"OMP_1.0");
1184 xversionify(FTN_DESTROY_NEST_LOCK, 10,
"OMP_1.0");
1185 xversionify(FTN_SET_LOCK, 10,
"OMP_1.0");
1186 xversionify(FTN_SET_NEST_LOCK, 10,
"OMP_1.0");
1187 xversionify(FTN_UNSET_LOCK, 10,
"OMP_1.0");
1188 xversionify(FTN_UNSET_NEST_LOCK, 10,
"OMP_1.0");
1189 xversionify(FTN_TEST_LOCK, 10,
"OMP_1.0");
1190 xversionify(FTN_TEST_NEST_LOCK, 10,
"OMP_1.0");
1193 xversionify(FTN_GET_WTICK, 20,
"OMP_2.0");
1194 xversionify(FTN_GET_WTIME, 20,
"OMP_2.0");
1197 xversionify(FTN_SET_SCHEDULE, 30,
"OMP_3.0");
1198 xversionify(FTN_GET_SCHEDULE, 30,
"OMP_3.0");
1199 xversionify(FTN_GET_THREAD_LIMIT, 30,
"OMP_3.0");
1200 xversionify(FTN_SET_MAX_ACTIVE_LEVELS, 30,
"OMP_3.0");
1201 xversionify(FTN_GET_MAX_ACTIVE_LEVELS, 30,
"OMP_3.0");
1202 xversionify(FTN_GET_ANCESTOR_THREAD_NUM, 30,
"OMP_3.0");
1203 xversionify(FTN_GET_LEVEL, 30,
"OMP_3.0");
1204 xversionify(FTN_GET_TEAM_SIZE, 30,
"OMP_3.0");
1205 xversionify(FTN_GET_ACTIVE_LEVEL, 30,
"OMP_3.0");
1208 xversionify(FTN_INIT_LOCK, 30,
"OMP_3.0");
1209 xversionify(FTN_INIT_NEST_LOCK, 30,
"OMP_3.0");
1210 xversionify(FTN_DESTROY_LOCK, 30,
"OMP_3.0");
1211 xversionify(FTN_DESTROY_NEST_LOCK, 30,
"OMP_3.0");
1212 xversionify(FTN_SET_LOCK, 30,
"OMP_3.0");
1213 xversionify(FTN_SET_NEST_LOCK, 30,
"OMP_3.0");
1214 xversionify(FTN_UNSET_LOCK, 30,
"OMP_3.0");
1215 xversionify(FTN_UNSET_NEST_LOCK, 30,
"OMP_3.0");
1216 xversionify(FTN_TEST_LOCK, 30,
"OMP_3.0");
1217 xversionify(FTN_TEST_NEST_LOCK, 30,
"OMP_3.0");
1220 xversionify(FTN_IN_FINAL, 31,
"OMP_3.1");
1224 xversionify(FTN_GET_PROC_BIND, 40,
"OMP_4.0");
1225 xversionify(FTN_GET_NUM_TEAMS, 40,
"OMP_4.0");
1226 xversionify(FTN_GET_TEAM_NUM, 40,
"OMP_4.0");
1227 xversionify(FTN_GET_CANCELLATION, 40,
"OMP_4.0");
1228 xversionify(FTN_IS_INITIAL_DEVICE, 40,
"OMP_4.0");
1239 #endif // KMP_USE_VERSION_SYMBOLS 1243 #endif // __cplusplus KMP_EXPORT kmp_int32 __kmpc_bound_num_threads(ident_t *)