LLVM OpenMP 22.0.0git
kmp_runtime.cpp File Reference
#include "kmp.h"
#include "kmp_affinity.h"
#include "kmp_atomic.h"
#include "kmp_environment.h"
#include "kmp_error.h"
#include "kmp_i18n.h"
#include "kmp_io.h"
#include "kmp_itt.h"
#include "kmp_settings.h"
#include "kmp_stats.h"
#include "kmp_str.h"
#include "kmp_wait_release.h"
#include "kmp_wrapper_getpid.h"
#include "kmp_dispatch.h"
#include "kmp_utils.h"

Go to the source code of this file.

Classes

struct  kmp_affinity_format_field_t

Macros

#define KMP_USE_PRCTL   0
#define KMP_MIN(x, y)
#define MAX_MESSAGE   512
#define propagateFPControl(x)
#define updateHWFPControl(x)
#define FAST_REDUCTION_ATOMIC_METHOD_GENERATED
#define FAST_REDUCTION_TREE_METHOD_GENERATED   ((reduce_data) && (reduce_func))

Typedefs

typedef struct kmp_affinity_format_field_t kmp_affinity_format_field_t

Functions

void __kmp_cleanup (void)
static void __kmp_initialize_info (kmp_info_t *, kmp_team_t *, int tid, int gtid)
static void __kmp_initialize_team (kmp_team_t *team, int new_nproc, kmp_internal_control_t *new_icvs, ident_t *loc)
static void __kmp_do_serial_initialize (void)
void __kmp_fork_barrier (int gtid, int tid)
void __kmp_join_barrier (int gtid)
void __kmp_setup_icv_copy (kmp_team_t *team, int new_nproc, kmp_internal_control_t *new_icvs, ident_t *loc)
static int __kmp_expand_threads (int nNeed)
static void __kmp_reap_thread (kmp_info_t *thread, int is_root)
void __kmp_resize_dist_barrier (kmp_team_t *team, int old_nthreads, int new_nthreads)
void __kmp_add_threads_to_team (kmp_team_t *team, int new_nthreads)
static kmp_nested_nthreads_t__kmp_override_nested_nth (kmp_info_t *thr, int level)
int __kmp_get_global_thread_id ()
int __kmp_get_global_thread_id_reg ()
void __kmp_check_stack_overlap (kmp_info_t *th)
void __kmp_infinite_loop (void)
void __kmp_print_storage_map_gtid (int gtid, void *p1, void *p2, size_t size, char const *format,...)
void __kmp_warn (char const *format,...)
void __kmp_abort_process ()
void __kmp_abort_thread (void)
static void __kmp_print_thread_storage_map (kmp_info_t *thr, int gtid)
static void __kmp_print_team_storage_map (const char *header, kmp_team_t *team, int team_id, int num_thr)
static void __kmp_init_allocator ()
static void __kmp_fini_allocator ()
void __kmp_parallel_deo (int *gtid_ref, int *cid_ref, ident_t *loc_ref)
void __kmp_parallel_dxo (int *gtid_ref, int *cid_ref, ident_t *loc_ref)
int __kmp_enter_single (int gtid, ident_t *id_ref, int push_ws)
void __kmp_exit_single (int gtid)
static int __kmp_reserve_threads (kmp_root_t *root, kmp_team_t *parent_team, int master_tid, int set_nthreads, int enter_teams)
static void __kmp_fork_team_threads (kmp_root_t *root, kmp_team_t *team, kmp_info_t *master_th, int master_gtid, int fork_teams_workers)
static void __kmp_alloc_argv_entries (int argc, kmp_team_t *team, int realloc)
void __kmp_serialized_parallel (ident_t *loc, kmp_int32 global_tid)
static bool __kmp_is_fork_in_teams (kmp_info_t *master_th, microtask_t microtask, int level, int teams_level, kmp_va_list ap)
static bool __kmp_is_entering_teams (int active_level, int level, int teams_level, kmp_va_list ap)
static int __kmp_fork_in_teams (ident_t *loc, int gtid, kmp_team_t *parent_team, kmp_int32 argc, kmp_info_t *master_th, kmp_root_t *root, enum fork_context_e call_context, microtask_t microtask, launch_t invoker, int master_set_numthreads, int level, kmp_va_list ap)
static int __kmp_serial_fork_call (ident_t *loc, int gtid, enum fork_context_e call_context, kmp_int32 argc, microtask_t microtask, launch_t invoker, kmp_info_t *master_th, kmp_team_t *parent_team, kmp_va_list ap)
int __kmp_fork_call (ident_t *loc, int gtid, enum fork_context_e call_context, kmp_int32 argc, microtask_t microtask, launch_t invoker, kmp_va_list ap)
void __kmp_join_call (ident_t *loc, int gtid, int exit_teams)
void __kmp_save_internal_controls (kmp_info_t *thread)
void __kmp_set_num_threads (int new_nth, int gtid)
void __kmp_set_max_active_levels (int gtid, int max_active_levels)
int __kmp_get_max_active_levels (int gtid)
void __kmp_set_num_teams (int num_teams)
int __kmp_get_max_teams (void)
void __kmp_set_teams_thread_limit (int limit)
int __kmp_get_teams_thread_limit (void)
 KMP_BUILD_ASSERT (sizeof(kmp_sched_t)==sizeof(int))
 KMP_BUILD_ASSERT (sizeof(enum sched_type)==sizeof(int))
void __kmp_set_schedule (int gtid, kmp_sched_t kind, int chunk)
void __kmp_get_schedule (int gtid, kmp_sched_t *kind, int *chunk)
int __kmp_get_ancestor_thread_num (int gtid, int level)
int __kmp_get_team_size (int gtid, int level)
kmp_r_sched_t __kmp_get_schedule_global ()
static void __kmp_allocate_team_arrays (kmp_team_t *team, int max_nth)
static void __kmp_free_team_arrays (kmp_team_t *team)
static void __kmp_reallocate_team_arrays (kmp_team_t *team, int max_nth)
static kmp_internal_control_t __kmp_get_global_icvs (void)
static kmp_internal_control_t __kmp_get_x_global_icvs (const kmp_team_t *team)
static void __kmp_initialize_root (kmp_root_t *root)
unsigned short __kmp_get_random (kmp_info_t *thread)
void __kmp_init_random (kmp_info_t *thread)
int __kmp_register_root (int initial_thread)
static int __kmp_free_hot_teams (kmp_root_t *root, kmp_info_t *thr, int level, const int max_level)
static int __kmp_reset_root (int gtid, kmp_root_t *root)
void __kmp_unregister_root_current_thread (int gtid)
kmp_info_t__kmp_allocate_thread (kmp_root_t *root, kmp_team_t *team, int new_tid)
static void __kmp_reinitialize_team (kmp_team_t *team, kmp_internal_control_t *new_icvs, ident_t *loc)
kmp_team_t__kmp_allocate_team (kmp_root_t *root, int new_nproc, int max_nproc, kmp_proc_bind_t new_proc_bind, kmp_internal_control_t *new_icvs, int argc, kmp_info_t *master)
void __kmp_free_team (kmp_root_t *root, kmp_team_t *team, kmp_info_t *master)
kmp_team_t__kmp_reap_team (kmp_team_t *team)
void __kmp_free_thread (kmp_info_t *this_th)
void__kmp_launch_thread (kmp_info_t *this_thr)
void __kmp_internal_end_dest (void *specific_gtid)
void __kmp_internal_end_atexit (void)
static void __kmp_itthash_clean (kmp_info_t *th)
static void __kmp_internal_end (void)
void __kmp_internal_end_library (int gtid_req)
void __kmp_internal_end_thread (int gtid_req)
static char__kmp_reg_status_name ()
void __kmp_register_library_startup (void)
void __kmp_unregister_library (void)
void __kmp_serial_initialize (void)
static void __kmp_do_middle_initialize (void)
void __kmp_middle_initialize (void)
void __kmp_parallel_initialize (void)
void __kmp_hidden_helper_initialize ()
void __kmp_run_before_invoked_task (int gtid, int tid, kmp_info_t *this_thr, kmp_team_t *team)
void __kmp_run_after_invoked_task (int gtid, int tid, kmp_info_t *this_thr, kmp_team_t *team)
int __kmp_invoke_task_func (int gtid)
void __kmp_teams_master (int gtid)
int __kmp_invoke_teams_master (int gtid)
void __kmp_push_num_threads (ident_t *id, int gtid, int num_threads)
void __kmp_push_num_threads_list (ident_t *id, int gtid, kmp_uint32 list_length, int *num_threads_list)
void __kmp_set_strict_num_threads (ident_t *loc, int gtid, int sev, const char *msg)
static void __kmp_push_thread_limit (kmp_info_t *thr, int num_teams, int num_threads)
void __kmp_push_num_teams (ident_t *id, int gtid, int num_teams, int num_threads)
void __kmp_push_num_teams_51 (ident_t *id, int gtid, int num_teams_lb, int num_teams_ub, int num_threads)
void __kmp_push_proc_bind (ident_t *id, int gtid, kmp_proc_bind_t proc_bind)
void __kmp_internal_fork (ident_t *id, int gtid, kmp_team_t *team)
void __kmp_internal_join (ident_t *id, int gtid, kmp_team_t *team)
int __kmp_ignore_mppbeg (void)
int __kmp_ignore_mppend (void)
void __kmp_internal_begin (void)
void __kmp_user_set_library (enum library_type arg)
void __kmp_aux_set_stacksize (size_t arg)
void __kmp_aux_set_library (enum library_type arg)
static kmp_team_t__kmp_aux_get_team_info (int &teams_serialized)
int __kmp_aux_get_team_num ()
int __kmp_aux_get_num_teams ()
static int __kmp_aux_capture_affinity_field (int gtid, const kmp_info_t *th, const char **ptr, kmp_str_buf_t *field_buffer)
size_t __kmp_aux_capture_affinity (int gtid, const char *format, kmp_str_buf_t *buffer)
void __kmp_aux_display_affinity (int gtid, const char *format)
void __kmp_aux_set_blocktime (int arg, kmp_info_t *thread, int tid)
void __kmp_aux_set_defaults (char const *str, size_t len)
PACKED_REDUCTION_METHOD_T __kmp_determine_reduction_method (ident_t *loc, kmp_int32 global_tid, kmp_int32 num_vars, size_t reduce_size, void *reduce_data, void(*reduce_func)(void *lhs_data, void *rhs_data), kmp_critical_name *lck)
kmp_int32 __kmp_get_reduce_method (void)
void __kmp_soft_pause ()
void __kmp_hard_pause ()
void __kmp_resume_if_soft_paused ()
int __kmp_pause_resource (kmp_pause_status_t level)
void __kmp_omp_display_env (int verbose)
void __kmp_hidden_helper_threads_initz_routine ()
void __kmp_init_nesting_mode ()
void __kmp_set_nesting_mode_threads ()
void __kmp_reset_stats ()
void __kmp_itt_fini_ittlib ()
void __kmp_itt_init_ittlib ()

Variables

char const __kmp_version_omp_api []
kmp_info_t__kmp_thread_pool_insert_pt = NULL
static const unsigned __kmp_primes []
static long __kmp_registration_flag = 0
static char__kmp_registration_str = NULL
static const kmp_affinity_format_field_t __kmp_affinity_format_table []
kmp_info_t ** __kmp_hidden_helper_threads
kmp_info_t__kmp_hidden_helper_main_thread
std::atomic< kmp_int32__kmp_unexecuted_hidden_helper_tasks
kmp_int32 __kmp_hidden_helper_threads_num = 0
kmp_int32 __kmp_enable_hidden_helper = FALSE
int __kmp_omp_debug_struct_info = FALSE
int __kmp_debugging = FALSE

Macro Definition Documentation

◆ FAST_REDUCTION_ATOMIC_METHOD_GENERATED

#define FAST_REDUCTION_ATOMIC_METHOD_GENERATED
Value:
(loc && \
@ KMP_IDENT_ATOMIC_REDUCE
Compiler generates atomic reduction option for kmpc_reduce*.
Definition kmp.h:194
static id loc

Referenced by __kmp_determine_reduction_method().

◆ FAST_REDUCTION_TREE_METHOD_GENERATED

#define FAST_REDUCTION_TREE_METHOD_GENERATED   ((reduce_data) && (reduce_func))

◆ KMP_MIN

#define KMP_MIN ( x,
y )
Value:
((x) < (y) ? (x) : (y))

Definition at line 74 of file kmp_runtime.cpp.

◆ KMP_USE_PRCTL

#define KMP_USE_PRCTL   0

Definition at line 45 of file kmp_runtime.cpp.

◆ MAX_MESSAGE

#define MAX_MESSAGE   512

Definition at line 375 of file kmp_runtime.cpp.

◆ propagateFPControl

#define propagateFPControl ( x)
Value:
((void)0)
void
Definition ittnotify.h:3324

Definition at line 1174 of file kmp_runtime.cpp.

Referenced by __kmp_fork_call(), and __kmp_serialized_parallel().

◆ updateHWFPControl

#define updateHWFPControl ( x)
Value:
((void)0)

Definition at line 1175 of file kmp_runtime.cpp.

Referenced by __kmp_join_call(), and __kmp_launch_thread().

Typedef Documentation

◆ kmp_affinity_format_field_t

typedef struct kmp_affinity_format_field_t kmp_affinity_format_field_t

Function Documentation

◆ __kmp_abort_process()

◆ __kmp_abort_thread()

void __kmp_abort_thread ( void )

◆ __kmp_add_threads_to_team()

◆ __kmp_alloc_argv_entries()

◆ __kmp_allocate_team()

kmp_team_t * __kmp_allocate_team ( kmp_root_t * root,
int new_nproc,
int max_nproc,
kmp_proc_bind_t new_proc_bind,
kmp_internal_control_t * new_icvs,
int argc,
kmp_info_t * master )

◆ __kmp_allocate_team_arrays()

void __kmp_allocate_team_arrays ( kmp_team_t * team,
int max_nth )
static

◆ __kmp_allocate_thread()

◆ __kmp_aux_capture_affinity()

◆ __kmp_aux_capture_affinity_field()

◆ __kmp_aux_display_affinity()

◆ __kmp_aux_get_num_teams()

int __kmp_aux_get_num_teams ( )

Definition at line 8536 of file kmp_runtime.cpp.

References __kmp_aux_get_team_info(), and kmp_team::t.

Referenced by __kmp_aux_capture_affinity_field(), and FTN_GET_NUM_TEAMS().

◆ __kmp_aux_get_team_info()

kmp_team_t * __kmp_aux_get_team_info ( int & teams_serialized)
static

◆ __kmp_aux_get_team_num()

int __kmp_aux_get_team_num ( )

Definition at line 8523 of file kmp_runtime.cpp.

References __kmp_aux_get_team_info(), and kmp_team::t.

Referenced by __kmp_aux_capture_affinity_field(), and FTN_GET_TEAM_NUM().

◆ __kmp_aux_set_blocktime()

◆ __kmp_aux_set_defaults()

void __kmp_aux_set_defaults ( char const * str,
size_t len )

◆ __kmp_aux_set_library()

◆ __kmp_aux_set_stacksize()

◆ __kmp_check_stack_overlap()

◆ __kmp_cleanup()

◆ __kmp_determine_reduction_method()

◆ __kmp_do_middle_initialize()

◆ __kmp_do_serial_initialize()

void __kmp_do_serial_initialize ( void )
static

Definition at line 7053 of file kmp_runtime.cpp.

References __kmp_abort_delay, __kmp_all_nth, __kmp_allocate, __kmp_allThreadsSpecified, __kmp_atomic_lock, __kmp_atomic_lock_10r, __kmp_atomic_lock_16c, __kmp_atomic_lock_16r, __kmp_atomic_lock_1i, __kmp_atomic_lock_20c, __kmp_atomic_lock_2i, __kmp_atomic_lock_32c, __kmp_atomic_lock_4i, __kmp_atomic_lock_4r, __kmp_atomic_lock_8c, __kmp_atomic_lock_8i, __kmp_atomic_lock_8r, __kmp_barrier_gather_bb_dflt, __kmp_barrier_gather_branch_bits, __kmp_barrier_gather_pat_dflt, __kmp_barrier_gather_pattern, __kmp_barrier_release_bb_dflt, __kmp_barrier_release_branch_bits, __kmp_barrier_release_pat_dflt, __kmp_barrier_release_pattern, __kmp_cg_max_nth, __kmp_common_initialize(), __kmp_default_tp_capacity(), __kmp_dflt_blocktime, __kmp_dflt_team_nth_ub, __kmp_display_env, __kmp_display_env_verbose, __kmp_env_checks, __kmp_env_free(), __kmp_env_get(), __kmp_env_initialize(), __kmp_env_print(), __kmp_env_print_2(), __kmp_exit_lock, __kmp_fatal(), __kmp_foreign_tp, __kmp_forkjoin_lock, __kmp_global, __kmp_global_lock, __kmp_i18n_dump_catalog(), __kmp_init_allocator(), __kmp_init_atomic_lock(), __kmp_init_bootstrap_lock(), __kmp_init_counter, __kmp_init_lock(), __kmp_init_nesting_mode(), __kmp_init_serial, __kmp_initial_threads_capacity(), __kmp_internal_end_atexit(), __kmp_library, __kmp_max_nth, __kmp_msg_null, __kmp_need_register_serial, __kmp_nth, __kmp_print_version_1(), __kmp_printf(), __kmp_register_atfork(), __kmp_register_library_startup(), __kmp_register_root(), __kmp_root, __kmp_runtime_initialize(), __kmp_settings, __kmp_static, __kmp_stats_init(), __kmp_str_buf_free(), __kmp_str_buf_init, __kmp_str_match_true(), __kmp_sys_max_nth, __kmp_team_pool, __kmp_teams_max_nth, __kmp_thread_pool, __kmp_thread_pool_insert_pt, __kmp_threads, __kmp_threads_capacity, __kmp_tp_cached_lock, __kmp_tp_capacity, __kmp_validate_locks(), __kmp_version, __kmp_xproc, bp_hierarchical_bar, bs_forkjoin_barrier, bs_last_barrier, bs_plain_barrier, bs_reduction_barrier, CACHE_LINE, dynamic_default, FALSE, i, KA_TRACE, KMP_ASSERT, KMP_DEBUG_ASSERT, KMP_DEFAULT_BLOCKTIME, KMP_ERR, KMP_INITIAL_GTID, KMP_MB, KMP_MIN_NTH, KMP_MSG, kmp_sch_static_balanced, KMP_UBER_GTID(), kmp_uint32, library_throughput, ompt_post_init(), ompt_pre_init(), size, kmp_str_buf::str, TCR_4, TCW_SYNC_4, TRUE, and val.

Referenced by __kmp_do_middle_initialize(), __kmp_get_global_thread_id_reg(), __kmp_omp_display_env(), and __kmp_serial_initialize().

◆ __kmp_enter_single()

◆ __kmp_exit_single()

void __kmp_exit_single ( int gtid)

Definition at line 758 of file kmp_runtime.cpp.

References __kmp_env_consistency_check, __kmp_pop_workshare(), and ct_psingle.

Referenced by __kmpc_end_single().

◆ __kmp_expand_threads()

◆ __kmp_fini_allocator()

void __kmp_fini_allocator ( )
static

Definition at line 585 of file kmp_runtime.cpp.

References __kmp_fini_memkind(), and __kmp_fini_target_mem().

Referenced by __kmp_internal_end_library().

◆ __kmp_fork_barrier()

◆ __kmp_fork_call()

int __kmp_fork_call ( ident_t * loc,
int gtid,
enum fork_context_e call_context,
kmp_int32 argc,
microtask_t microtask,
launch_t invoker,
kmp_va_list ap )

Definition at line 1934 of file kmp_runtime.cpp.

References __kmp_acquire_bootstrap_lock(), __kmp_allocate, __kmp_allocate_team(), __kmp_assign_root_init_mask, __kmp_barrier_release_pattern, __kmp_fork_in_teams(), __kmp_fork_team_threads(), __kmp_forkjoin_lock, __kmp_hot_teams_max_level, __kmp_init_parallel, __kmp_init_serial, __kmp_internal_fork(), __kmp_is_entering_teams(), __kmp_is_fork_in_teams(), __kmp_library, __kmp_nested_proc_bind, __kmp_override_nested_nth(), __kmp_parallel_initialize(), __kmp_release_bootstrap_lock(), __kmp_reserve_threads(), __kmp_resume_if_soft_paused(), __kmp_root, __kmp_serial_fork_call(), __kmp_setup_icv_copy(), __kmp_stkpadding, __kmp_teams_master(), __kmp_teams_proc_bind, __kmp_threads, __ompt_get_task_info_internal(), bp_dist_bar, bs_forkjoin_barrier, cancel_noreq, copy_icvs(), fork_context_gnu, get__nproc_2, get__sched_2, kmp_hot_team_ptr::hot_team, i, KA_TRACE, KC_TRACE, KF_TRACE, KMP_ALLOCA, KMP_ASSERT2, KMP_ATOMIC_INC, KMP_CHECK_UPDATE, KMP_CHECK_UPDATE_SYNC, KMP_COUNT_VALUE, KMP_DEBUG_ASSERT, KMP_DEBUG_ASSERT_TASKTEAM_INVARIANT, KMP_GET_THREAD_STATE, KMP_INTERNAL_FREE, KMP_MAX_STKPADDING, KMP_MB, KMP_SET_THREAD_STATE, KMP_TIME_DEVELOPER_PARTITIONED_BLOCK, kmp_va_deref, level, library_serial, loc, microtask(), kmp_internal_control::next, kmp_internal_control::nproc, kmp_nested_nthreads_t::nth, ompt_callbacks, ompt_enabled, OMPT_INVOKER, kmp_internal_control::proc_bind, proc_bind_default, proc_bind_false, propagateFPControl, kmp_r_sched::sched, short, kmp_team::t, TCR_4, TRUE, and kmp_nested_nthreads_t::used.

Referenced by __kmp_GOMP_fork_call(), __kmp_teams_master(), __kmpc_fork_call(), and __kmpc_fork_teams().

◆ __kmp_fork_in_teams()

◆ __kmp_fork_team_threads()

◆ __kmp_free_hot_teams()

int __kmp_free_hot_teams ( kmp_root_t * root,
kmp_info_t * thr,
int level,
const int max_level )
static

◆ __kmp_free_team()

◆ __kmp_free_team_arrays()

void __kmp_free_team_arrays ( kmp_team_t * team)
static

Definition at line 3255 of file kmp_runtime.cpp.

References __kmp_dispatch_free_hierarchies(), __kmp_free, i, and kmp_team::t.

Referenced by __kmp_reap_team().

◆ __kmp_free_thread()

◆ __kmp_get_ancestor_thread_num()

◆ __kmp_get_global_icvs()

◆ __kmp_get_global_thread_id()

◆ __kmp_get_global_thread_id_reg()

◆ __kmp_get_max_active_levels()

int __kmp_get_max_active_levels ( int gtid)

Definition at line 2906 of file kmp_runtime.cpp.

References __kmp_init_serial, __kmp_threads, KF_TRACE, and KMP_DEBUG_ASSERT.

Referenced by FTN_GET_MAX_ACTIVE_LEVELS().

◆ __kmp_get_max_teams()

int __kmp_get_max_teams ( void )

Definition at line 2926 of file kmp_runtime.cpp.

References __kmp_nteams.

Referenced by FTN_GET_MAX_TEAMS().

◆ __kmp_get_random()

unsigned short __kmp_get_random ( kmp_info_t * thread)

Definition at line 3642 of file kmp_runtime.cpp.

References KA_TRACE, r, and short.

Referenced by __kmp_execute_tasks_template(), and __kmp_reserve_threads().

◆ __kmp_get_reduce_method()

kmp_int32 __kmp_get_reduce_method ( void )

Definition at line 9045 of file kmp_runtime.cpp.

References __kmp_entry_thread().

◆ __kmp_get_schedule()

◆ __kmp_get_schedule_global()

◆ __kmp_get_team_size()

int __kmp_get_team_size ( int gtid,
int level )

◆ __kmp_get_teams_thread_limit()

int __kmp_get_teams_thread_limit ( void )

Definition at line 2932 of file kmp_runtime.cpp.

References __kmp_teams_thread_limit.

Referenced by FTN_GET_TEAMS_THREAD_LIMIT().

◆ __kmp_get_x_global_icvs()

kmp_internal_control_t __kmp_get_x_global_icvs ( const kmp_team_t * team)
static

◆ __kmp_hard_pause()

void __kmp_hard_pause ( )

Definition at line 9055 of file kmp_runtime.cpp.

References __kmp_internal_end_thread(), __kmp_pause_status, and kmp_hard_paused.

Referenced by __kmp_pause_resource().

◆ __kmp_hidden_helper_initialize()

◆ __kmp_hidden_helper_threads_initz_routine()

◆ __kmp_ignore_mppbeg()

int __kmp_ignore_mppbeg ( void )

Definition at line 8352 of file kmp_runtime.cpp.

References __kmp_str_match_false(), FALSE, and TRUE.

Referenced by __kmpc_begin().

◆ __kmp_ignore_mppend()

int __kmp_ignore_mppend ( void )

Definition at line 8363 of file kmp_runtime.cpp.

References __kmp_str_match_false(), FALSE, and TRUE.

Referenced by __kmpc_end().

◆ __kmp_infinite_loop()

void __kmp_infinite_loop ( void )

Definition at line 367 of file kmp_runtime.cpp.

References FALSE, KMP_YIELD, and TRUE.

Referenced by __kmp_abort_process(), __kmp_abort_thread(), and __kmp_parallel_initialize().

◆ __kmp_init_allocator()

void __kmp_init_allocator ( )
static

Definition at line 581 of file kmp_runtime.cpp.

References __kmp_init_memkind(), and __kmp_init_target_mem().

Referenced by __kmp_do_serial_initialize().

◆ __kmp_init_nesting_mode()

◆ __kmp_init_random()

void __kmp_init_random ( kmp_info_t * thread)

Definition at line 3655 of file kmp_runtime.cpp.

References __kmp_primes, and KA_TRACE.

Referenced by __kmp_allocate_thread(), and __kmp_register_root().

◆ __kmp_initialize_info()

◆ __kmp_initialize_root()

◆ __kmp_initialize_team()

void __kmp_initialize_team ( kmp_team_t * team,
int new_nproc,
kmp_internal_control_t * new_icvs,
ident_t * loc )
static

◆ __kmp_internal_begin()

void __kmp_internal_begin ( void )

◆ __kmp_internal_end()

◆ __kmp_internal_end_atexit()

void __kmp_internal_end_atexit ( void )

◆ __kmp_internal_end_dest()

void __kmp_internal_end_dest ( void * specific_gtid)

Definition at line 6095 of file kmp_runtime.cpp.

References __kmp_internal_end_thread(), __kmp_type_convert(), and KA_TRACE.

Referenced by __kmp_runtime_initialize().

◆ __kmp_internal_end_library()

◆ __kmp_internal_end_thread()

◆ __kmp_internal_fork()

void __kmp_internal_fork ( ident_t * id,
int gtid,
kmp_team_t * team )

◆ __kmp_internal_join()

◆ __kmp_invoke_task_func()

◆ __kmp_invoke_teams_master()

◆ __kmp_is_entering_teams()

bool __kmp_is_entering_teams ( int active_level,
int level,
int teams_level,
kmp_va_list ap )
inlinestatic

Definition at line 1462 of file kmp_runtime.cpp.

References level.

Referenced by __kmp_fork_call().

◆ __kmp_is_fork_in_teams()

bool __kmp_is_fork_in_teams ( kmp_info_t * master_th,
microtask_t microtask,
int level,
int teams_level,
kmp_va_list ap )
inlinestatic

Definition at line 1453 of file kmp_runtime.cpp.

References __kmp_teams_master(), level, and microtask().

Referenced by __kmp_fork_call().

◆ __kmp_itt_fini_ittlib()

void __kmp_itt_fini_ittlib ( )

Definition at line 9383 of file kmp_runtime.cpp.

◆ __kmp_itt_init_ittlib()

void __kmp_itt_init_ittlib ( )

Definition at line 9384 of file kmp_runtime.cpp.

◆ __kmp_itthash_clean()

void __kmp_itthash_clean ( kmp_info_t * th)
static

Definition at line 6264 of file kmp_runtime.cpp.

References __kmp_thread_free, and i.

Referenced by __kmp_internal_end_library().

◆ __kmp_join_barrier()

◆ __kmp_join_call()

◆ __kmp_launch_thread()

◆ __kmp_middle_initialize()

◆ __kmp_omp_display_env()

◆ __kmp_override_nested_nth()

kmp_nested_nthreads_t * __kmp_override_nested_nth ( kmp_info_t * thr,
int level )
static

◆ __kmp_parallel_deo()

void __kmp_parallel_deo ( int * gtid_ref,
int * cid_ref,
ident_t * loc_ref )

◆ __kmp_parallel_dxo()

void __kmp_parallel_dxo ( int * gtid_ref,
int * cid_ref,
ident_t * loc_ref )

◆ __kmp_parallel_initialize()

◆ __kmp_pause_resource()

◆ __kmp_print_storage_map_gtid()

◆ __kmp_print_team_storage_map()

void __kmp_print_team_storage_map ( const char * header,
kmp_team_t * team,
int team_id,
int num_thr )
static

◆ __kmp_print_thread_storage_map()

void __kmp_print_thread_storage_map ( kmp_info_t * thr,
int gtid )
static

◆ __kmp_push_num_teams()

void __kmp_push_num_teams ( ident_t * id,
int gtid,
int num_teams,
int num_threads )

◆ __kmp_push_num_teams_51()

void __kmp_push_num_teams_51 ( ident_t * id,
int gtid,
int num_teams_lb,
int num_teams_ub,
int num_threads )

◆ __kmp_push_num_threads()

void __kmp_push_num_threads ( ident_t * id,
int gtid,
int num_threads )

◆ __kmp_push_num_threads_list()

void __kmp_push_num_threads_list ( ident_t * id,
int gtid,
kmp_uint32 list_length,
int * num_threads_list )

◆ __kmp_push_proc_bind()

void __kmp_push_proc_bind ( ident_t * id,
int gtid,
kmp_proc_bind_t proc_bind )

Definition at line 8015 of file kmp_runtime.cpp.

References __kmp_threads.

Referenced by __kmp_GOMP_fork_call(), and __kmpc_push_proc_bind().

◆ __kmp_push_thread_limit()

◆ __kmp_reallocate_team_arrays()

void __kmp_reallocate_team_arrays ( kmp_team_t * team,
int max_nth )
static

Definition at line 3277 of file kmp_runtime.cpp.

References __kmp_allocate_team_arrays(), __kmp_free, KMP_MEMCPY, and kmp_team::t.

Referenced by __kmp_allocate_team().

◆ __kmp_reap_team()

◆ __kmp_reap_thread()

◆ __kmp_reg_status_name()

char * __kmp_reg_status_name ( )
inlinestatic

Definition at line 6684 of file kmp_runtime.cpp.

References __kmp_str_format().

Referenced by __kmp_register_library_startup(), and __kmp_unregister_library().

◆ __kmp_register_library_startup()

◆ __kmp_register_root()

int __kmp_register_root ( int initial_thread)

Definition at line 3795 of file kmp_runtime.cpp.

References __kmp_acquire_bootstrap_lock(), __kmp_adjust_gtid_mode, __kmp_all_nth, __kmp_allocate, __kmp_allocate_cons_stack(), __kmp_allocate_team(), __kmp_avail_proc, __kmp_cg_max_nth, __kmp_create_worker(), __kmp_def_allocator, __kmp_enable_hidden_helper, __kmp_env_blocktime, __kmp_env_consistency_check, __kmp_expand_threads(), __kmp_fatal(), __kmp_forkjoin_lock, __kmp_get_global_icvs(), __kmp_gtid_from_tid(), __kmp_gtid_get_specific(), __kmp_gtid_mode, __kmp_gtid_set_specific(), __kmp_hidden_helper_threads_num, __kmp_init_gtid, __kmp_init_hidden_helper_threads, __kmp_init_random(), __kmp_initialize_bget(), __kmp_initialize_info(), __kmp_initialize_root(), __kmp_msg_null, __kmp_nth, __kmp_print_thread_storage_map(), __kmp_release_bootstrap_lock(), __kmp_root, __kmp_root_counter, __kmp_stksize, __kmp_storage_map, __kmp_threads, __kmp_threads_capacity, __kmp_tls_gtid_min, __kmp_tp_cached, __kmp_tp_capacity, __ompt_get_task_info_internal(), __ompt_get_thread_data_internal(), b, bs_forkjoin_barrier, bs_last_barrier, kmp_cg_root::cg_nthreads, kmp_cg_root::cg_root, kmp_cg_root::cg_thread_limit, KA_TRACE, KF_TRACE, KMP_ASSERT, KMP_DEBUG_ASSERT, KMP_HNT, KMP_INIT_BARRIER_STATE, KMP_INIT_PARTITIONED_TIMERS, KMP_MB, KMP_MSG, KMP_SET_THREAD_STATE, ompt_callbacks, ompt_enabled, proc_bind_default, TCR_4, TCR_PTR, TCW_4, TCW_SYNC_PTR, TRUE, and kmp_cg_root::up.

Referenced by __kmp_do_serial_initialize(), __kmp_get_global_thread_id_reg(), and __kmp_hidden_helper_threads_initz_routine().

◆ __kmp_reinitialize_team()

◆ __kmp_reserve_threads()

◆ __kmp_reset_root()

◆ __kmp_reset_stats()

void __kmp_reset_stats ( )

Definition at line 9376 of file kmp_runtime.cpp.

◆ __kmp_resize_dist_barrier()

◆ __kmp_resume_if_soft_paused()

◆ __kmp_run_after_invoked_task()

void __kmp_run_after_invoked_task ( int gtid,
int tid,
kmp_info_t * this_thr,
kmp_team_t * team )

◆ __kmp_run_before_invoked_task()

◆ __kmp_save_internal_controls()

◆ __kmp_serial_fork_call()

◆ __kmp_serial_initialize()

◆ __kmp_serialized_parallel()

◆ __kmp_set_max_active_levels()

◆ __kmp_set_nesting_mode_threads()

◆ __kmp_set_num_teams()

void __kmp_set_num_teams ( int num_teams)

Definition at line 2922 of file kmp_runtime.cpp.

References __kmp_nteams.

Referenced by FTN_SET_NUM_TEAMS().

◆ __kmp_set_num_threads()

◆ __kmp_set_schedule()

◆ __kmp_set_strict_num_threads()

void __kmp_set_strict_num_threads ( ident_t * loc,
int gtid,
int sev,
const char * msg )

◆ __kmp_set_teams_thread_limit()

void __kmp_set_teams_thread_limit ( int limit)

Definition at line 2928 of file kmp_runtime.cpp.

References __kmp_teams_thread_limit.

Referenced by FTN_SET_TEAMS_THREAD_LIMIT().

◆ __kmp_setup_icv_copy()

◆ __kmp_soft_pause()

void __kmp_soft_pause ( )

Definition at line 9051 of file kmp_runtime.cpp.

References __kmp_pause_status, and kmp_soft_paused.

Referenced by __kmp_pause_resource().

◆ __kmp_teams_master()

◆ __kmp_unregister_library()

◆ __kmp_unregister_root_current_thread()

◆ __kmp_user_set_library()

◆ __kmp_warn()

◆ KMP_BUILD_ASSERT() [1/2]

KMP_BUILD_ASSERT ( sizeof(enum sched_type) = =sizeof(int))

◆ KMP_BUILD_ASSERT() [2/2]

KMP_BUILD_ASSERT ( sizeof(kmp_sched_t) = =sizeof(int))

Variable Documentation

◆ __kmp_affinity_format_table

const kmp_affinity_format_field_t __kmp_affinity_format_table[]
static
Initial value:
= {
{'t', "team_num", 'd'},
{'T', "num_teams", 'd'},
{'L', "nesting_level", 'd'},
{'n', "thread_num", 'd'},
{'N', "num_threads", 'd'},
{'a', "ancestor_tnum", 'd'},
{'H', "host", 's'},
{'P', "process_id", 'd'},
{'i', "native_thread_id", 'd'}}

Definition at line 8589 of file kmp_runtime.cpp.

Referenced by __kmp_aux_capture_affinity_field().

◆ __kmp_debugging

int __kmp_debugging = FALSE

Definition at line 9380 of file kmp_runtime.cpp.

Referenced by __kmp_fork_in_teams().

◆ __kmp_enable_hidden_helper

◆ __kmp_hidden_helper_main_thread

kmp_info_t* __kmp_hidden_helper_main_thread

◆ __kmp_hidden_helper_threads

kmp_info_t** __kmp_hidden_helper_threads

◆ __kmp_hidden_helper_threads_num

◆ __kmp_omp_debug_struct_info

int __kmp_omp_debug_struct_info = FALSE

Definition at line 9379 of file kmp_runtime.cpp.

◆ __kmp_primes

const unsigned __kmp_primes[]
static
Initial value:
= {
0x9e3779b1, 0xffe6cc59, 0x2109f6dd, 0x43977ab5, 0xba5703f5, 0xb495a877,
0xe1626741, 0x79695e6b, 0xbc98c09f, 0xd5bee2b3, 0x287488f9, 0x3af18231,
0x9677cd4d, 0xbe3a6929, 0xadc6a877, 0xdcf0674b, 0xbe4d6fe9, 0x5f15e201,
0x99afc3fd, 0xf3f16801, 0xe222cfff, 0x24ba5fdb, 0x0620452d, 0x79f149e3,
0xc8b93f49, 0x972702cd, 0xb07dd827, 0x6c97d5ed, 0x085a3d61, 0x46eb5ea7,
0x3d9910ed, 0x2e687b5b, 0x29609227, 0x6eb081f1, 0x0954c4e1, 0x9d114db9,
0x542acfa9, 0xb3e6bd7b, 0x0742d917, 0xe9f3ffa7, 0x54581edb, 0xf2480f45,
0x0bb9288f, 0xef1affc7, 0x85fa0ca7, 0x3ccc14db, 0xe6baf34b, 0x343377f7,
0x5ca19031, 0xe6d9293b, 0xf0a9f391, 0x5d2e980b, 0xfc411073, 0xc3749363,
0xb892d829, 0x3549366b, 0x629750ad, 0xb98294e5, 0x892d9483, 0xc235baf3,
0x3d2402a3, 0x6bdef3c9, 0xbec333cd, 0x40c9520f}

Definition at line 3627 of file kmp_runtime.cpp.

Referenced by __kmp_init_random().

◆ __kmp_registration_flag

long __kmp_registration_flag = 0
static

Definition at line 6679 of file kmp_runtime.cpp.

Referenced by __kmp_register_library_startup(), and __kmp_unregister_library().

◆ __kmp_registration_str

char* __kmp_registration_str = NULL
static

Definition at line 6681 of file kmp_runtime.cpp.

Referenced by __kmp_register_library_startup(), and __kmp_unregister_library().

◆ __kmp_thread_pool_insert_pt

kmp_info_t* __kmp_thread_pool_insert_pt = NULL

◆ __kmp_unexecuted_hidden_helper_tasks

std::atomic<kmp_int32> __kmp_unexecuted_hidden_helper_tasks

◆ __kmp_version_omp_api

char const __kmp_version_omp_api[]
Initial value:
=
KMP_VERSION_PREFIX "API version: 5.0 (201611)"
#define KMP_VERSION_PREFIX
Definition kmp_version.h:34

Definition at line 66 of file kmp_runtime.cpp.

Referenced by __kmp_print_version_1().