LLVM OpenMP 19.0.0git
Macros | Functions
kmp_csupport.cpp File Reference
#include "omp.h"
#include "kmp.h"
#include "kmp_error.h"
#include "kmp_i18n.h"
#include "kmp_itt.h"
#include "kmp_lock.h"
#include "kmp_stats.h"
#include "kmp_utils.h"
#include "ompt-specific.h"

Go to the source code of this file.

Macros

#define __KMP_IMP
 
#define MAX_MESSAGE   512
 
#define INIT_LOCK   __kmp_init_user_lock_with_checks
 
#define INIT_NESTED_LOCK   __kmp_init_nested_user_lock_with_checks
 
#define ACQUIRE_LOCK   __kmp_acquire_user_lock_with_checks
 
#define ACQUIRE_LOCK_TIMED   __kmp_acquire_user_lock_with_checks_timed
 
#define ACQUIRE_NESTED_LOCK   __kmp_acquire_nested_user_lock_with_checks
 
#define ACQUIRE_NESTED_LOCK_TIMED    __kmp_acquire_nested_user_lock_with_checks_timed
 
#define RELEASE_LOCK   __kmp_release_user_lock_with_checks
 
#define RELEASE_NESTED_LOCK   __kmp_release_nested_user_lock_with_checks
 
#define TEST_LOCK   __kmp_test_user_lock_with_checks
 
#define TEST_NESTED_LOCK   __kmp_test_nested_user_lock_with_checks
 
#define DESTROY_LOCK   __kmp_destroy_user_lock_with_checks
 
#define DESTROY_NESTED_LOCK   __kmp_destroy_nested_user_lock_with_checks
 
#define __KMP_SET_REDUCTION_METHOD(gtid, rmethod)    ((__kmp_threads[(gtid)]->th.th_local.packed_reduction_method) = (rmethod))
 
#define __KMP_GET_REDUCTION_METHOD(gtid)    (__kmp_threads[(gtid)]->th.th_local.packed_reduction_method)
 

Functions

void __kmpc_begin (ident_t *loc, kmp_int32 flags)
 
void __kmpc_end (ident_t *loc)
 
kmp_int32 __kmpc_global_thread_num (ident_t *loc)
 
kmp_int32 __kmpc_global_num_threads (ident_t *loc)
 
kmp_int32 __kmpc_bound_thread_num (ident_t *loc)
 
kmp_int32 __kmpc_bound_num_threads (ident_t *loc)
 
kmp_int32 __kmpc_ok_to_fork (ident_t *loc)
 
kmp_int32 __kmpc_in_parallel (ident_t *loc)
 
void __kmpc_push_num_threads (ident_t *loc, kmp_int32 global_tid, kmp_int32 num_threads)
 
void __kmpc_pop_num_threads (ident_t *loc, kmp_int32 global_tid)
 
void __kmpc_push_proc_bind (ident_t *loc, kmp_int32 global_tid, kmp_int32 proc_bind)
 
void __kmpc_fork_call (ident_t *loc, kmp_int32 argc, kmpc_micro microtask,...)
 
void __kmpc_fork_call_if (ident_t *loc, kmp_int32 argc, kmpc_micro microtask, kmp_int32 cond, void *args)
 
void __kmpc_push_num_teams (ident_t *loc, kmp_int32 global_tid, kmp_int32 num_teams, kmp_int32 num_threads)
 
void __kmpc_set_thread_limit (ident_t *loc, kmp_int32 global_tid, kmp_int32 thread_limit)
 
void __kmpc_push_num_teams_51 (ident_t *loc, kmp_int32 global_tid, kmp_int32 num_teams_lb, kmp_int32 num_teams_ub, kmp_int32 num_threads)
 
void __kmpc_fork_teams (ident_t *loc, kmp_int32 argc, kmpc_micro microtask,...)
 
int __kmpc_invoke_task_func (int gtid)
 
void __kmpc_serialized_parallel (ident_t *loc, kmp_int32 global_tid)
 
void __kmpc_end_serialized_parallel (ident_t *loc, kmp_int32 global_tid)
 
void __kmpc_flush (ident_t *loc)
 
void __kmpc_barrier (ident_t *loc, kmp_int32 global_tid)
 
kmp_int32 __kmpc_master (ident_t *loc, kmp_int32 global_tid)
 
void __kmpc_end_master (ident_t *loc, kmp_int32 global_tid)
 
kmp_int32 __kmpc_masked (ident_t *loc, kmp_int32 global_tid, kmp_int32 filter)
 
void __kmpc_end_masked (ident_t *loc, kmp_int32 global_tid)
 
void __kmpc_ordered (ident_t *loc, kmp_int32 gtid)
 
void __kmpc_end_ordered (ident_t *loc, kmp_int32 gtid)
 
static kmp_user_lock_p __kmp_get_critical_section_ptr (kmp_critical_name *crit, ident_t const *loc, kmp_int32 gtid)
 
void __kmpc_critical (ident_t *loc, kmp_int32 global_tid, kmp_critical_name *crit)
 
void __kmpc_end_critical (ident_t *loc, kmp_int32 global_tid, kmp_critical_name *crit)
 
kmp_int32 __kmpc_barrier_master (ident_t *loc, kmp_int32 global_tid)
 
void __kmpc_end_barrier_master (ident_t *loc, kmp_int32 global_tid)
 
kmp_int32 __kmpc_barrier_master_nowait (ident_t *loc, kmp_int32 global_tid)
 
kmp_int32 __kmpc_single (ident_t *loc, kmp_int32 global_tid)
 
void __kmpc_end_single (ident_t *loc, kmp_int32 global_tid)
 
void __kmpc_for_static_fini (ident_t *loc, kmp_int32 global_tid)
 
void ompc_set_num_threads (int arg)
 
void ompc_set_dynamic (int flag)
 
void ompc_set_nested (int flag)
 
void ompc_set_max_active_levels (int max_active_levels)
 
void ompc_set_schedule (omp_sched_t kind, int modifier)
 
int ompc_get_ancestor_thread_num (int level)
 
int ompc_get_team_size (int level)
 
void KMP_EXPAND_NAME() ompc_set_affinity_format (char const *format)
 
size_t KMP_EXPAND_NAME() ompc_get_affinity_format (char *buffer, size_t size)
 
void KMP_EXPAND_NAME() ompc_display_affinity (char const *format)
 
size_t KMP_EXPAND_NAME() ompc_capture_affinity (char *buffer, size_t buf_size, char const *format)
 
void kmpc_set_stacksize (int arg)
 
void kmpc_set_stacksize_s (size_t arg)
 
void kmpc_set_blocktime (int arg)
 
void kmpc_set_library (int arg)
 
void kmpc_set_defaults (char const *str)
 
void kmpc_set_disp_num_buffers (int arg)
 
int kmpc_set_affinity_mask_proc (int proc, void **mask)
 
int kmpc_unset_affinity_mask_proc (int proc, void **mask)
 
int kmpc_get_affinity_mask_proc (int proc, void **mask)
 
void __kmpc_copyprivate (ident_t *loc, kmp_int32 gtid, size_t cpy_size, void *cpy_data, void(*cpy_func)(void *, void *), kmp_int32 didit)
 
void__kmpc_copyprivate_light (ident_t *loc, kmp_int32 gtid, void *cpy_data)
 
void __kmpc_init_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
void __kmpc_init_nest_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
void __kmpc_destroy_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
void __kmpc_destroy_nest_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
void __kmpc_set_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
void __kmpc_set_nest_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
void __kmpc_unset_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
void __kmpc_unset_nest_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
int __kmpc_test_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
int __kmpc_test_nest_lock (ident_t *loc, kmp_int32 gtid, void **user_lock)
 
static __forceinline void __kmp_enter_critical_section_reduce_block (ident_t *loc, kmp_int32 global_tid, kmp_critical_name *crit)
 
static __forceinline void __kmp_end_critical_section_reduce_block (ident_t *loc, kmp_int32 global_tid, kmp_critical_name *crit)
 
static __forceinline int __kmp_swap_teams_for_teams_reduction (kmp_info_t *th, kmp_team_t **team_p, int *task_state)
 
static __forceinline void __kmp_restore_swapped_teams (kmp_info_t *th, kmp_team_t *team, int task_state)
 
kmp_int32 __kmpc_reduce_nowait (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)
 
void __kmpc_end_reduce_nowait (ident_t *loc, kmp_int32 global_tid, kmp_critical_name *lck)
 
kmp_int32 __kmpc_reduce (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)
 
void __kmpc_end_reduce (ident_t *loc, kmp_int32 global_tid, kmp_critical_name *lck)
 
kmp_uint64 __kmpc_get_taskid ()
 
kmp_uint64 __kmpc_get_parent_taskid ()
 
void __kmpc_doacross_init (ident_t *loc, int gtid, int num_dims, const struct kmp_dim *dims)
 
void __kmpc_doacross_wait (ident_t *loc, int gtid, const kmp_int64 *vec)
 
void __kmpc_doacross_post (ident_t *loc, int gtid, const kmp_int64 *vec)
 
void __kmpc_doacross_fini (ident_t *loc, int gtid)
 
voidomp_alloc (size_t size, omp_allocator_handle_t allocator)
 
voidomp_aligned_alloc (size_t align, size_t size, omp_allocator_handle_t allocator)
 
voidomp_calloc (size_t nmemb, size_t size, omp_allocator_handle_t allocator)
 
voidomp_aligned_calloc (size_t align, size_t nmemb, size_t size, omp_allocator_handle_t allocator)
 
voidomp_realloc (void *ptr, size_t size, omp_allocator_handle_t allocator, omp_allocator_handle_t free_allocator)
 
void omp_free (void *ptr, omp_allocator_handle_t allocator)
 
int __kmpc_get_target_offload (void)
 
int __kmpc_pause_resource (kmp_pause_status_t level)
 
void __kmpc_error (ident_t *loc, int severity, const char *message)
 
void __kmpc_scope (ident_t *loc, kmp_int32 gtid, void *reserved)
 
void __kmpc_end_scope (ident_t *loc, kmp_int32 gtid, void *reserved)
 

Macro Definition Documentation

◆ __KMP_GET_REDUCTION_METHOD

#define __KMP_GET_REDUCTION_METHOD (   gtid)     (__kmp_threads[(gtid)]->th.th_local.packed_reduction_method)

Definition at line 3422 of file kmp_csupport.cpp.

◆ __KMP_IMP

#define __KMP_IMP

Definition at line 13 of file kmp_csupport.cpp.

◆ __KMP_SET_REDUCTION_METHOD

#define __KMP_SET_REDUCTION_METHOD (   gtid,
  rmethod 
)     ((__kmp_threads[(gtid)]->th.th_local.packed_reduction_method) = (rmethod))

Definition at line 3419 of file kmp_csupport.cpp.

◆ ACQUIRE_LOCK

#define ACQUIRE_LOCK   __kmp_acquire_user_lock_with_checks

Definition at line 2346 of file kmp_csupport.cpp.

◆ ACQUIRE_LOCK_TIMED

#define ACQUIRE_LOCK_TIMED   __kmp_acquire_user_lock_with_checks_timed

Definition at line 2347 of file kmp_csupport.cpp.

◆ ACQUIRE_NESTED_LOCK

#define ACQUIRE_NESTED_LOCK   __kmp_acquire_nested_user_lock_with_checks

Definition at line 2348 of file kmp_csupport.cpp.

◆ ACQUIRE_NESTED_LOCK_TIMED

#define ACQUIRE_NESTED_LOCK_TIMED    __kmp_acquire_nested_user_lock_with_checks_timed

Definition at line 2349 of file kmp_csupport.cpp.

◆ DESTROY_LOCK

#define DESTROY_LOCK   __kmp_destroy_user_lock_with_checks

Definition at line 2355 of file kmp_csupport.cpp.

◆ DESTROY_NESTED_LOCK

#define DESTROY_NESTED_LOCK   __kmp_destroy_nested_user_lock_with_checks

Definition at line 2356 of file kmp_csupport.cpp.

◆ INIT_LOCK

#define INIT_LOCK   __kmp_init_user_lock_with_checks

Definition at line 2344 of file kmp_csupport.cpp.

◆ INIT_NESTED_LOCK

#define INIT_NESTED_LOCK   __kmp_init_nested_user_lock_with_checks

Definition at line 2345 of file kmp_csupport.cpp.

◆ MAX_MESSAGE

#define MAX_MESSAGE   512

Definition at line 24 of file kmp_csupport.cpp.

◆ RELEASE_LOCK

#define RELEASE_LOCK   __kmp_release_user_lock_with_checks

Definition at line 2351 of file kmp_csupport.cpp.

◆ RELEASE_NESTED_LOCK

#define RELEASE_NESTED_LOCK   __kmp_release_nested_user_lock_with_checks

Definition at line 2352 of file kmp_csupport.cpp.

◆ TEST_LOCK

#define TEST_LOCK   __kmp_test_user_lock_with_checks

Definition at line 2353 of file kmp_csupport.cpp.

◆ TEST_NESTED_LOCK

#define TEST_NESTED_LOCK   __kmp_test_nested_user_lock_with_checks

Definition at line 2354 of file kmp_csupport.cpp.

Function Documentation

◆ __kmp_end_critical_section_reduce_block()

static __forceinline void __kmp_end_critical_section_reduce_block ( ident_t loc,
kmp_int32  global_tid,
kmp_critical_name crit 
)
static

◆ __kmp_enter_critical_section_reduce_block()

static __forceinline void __kmp_enter_critical_section_reduce_block ( ident_t loc,
kmp_int32  global_tid,
kmp_critical_name crit 
)
static

◆ __kmp_get_critical_section_ptr()

static kmp_user_lock_p __kmp_get_critical_section_ptr ( kmp_critical_name crit,
ident_t const *  loc,
kmp_int32  gtid 
)
static

◆ __kmp_restore_swapped_teams()

static __forceinline void __kmp_restore_swapped_teams ( kmp_info_t th,
kmp_team_t team,
int  task_state 
)
static

Definition at line 3560 of file kmp_csupport.cpp.

References __kmp_type_convert(), and kmp_team::t.

Referenced by __kmpc_end_reduce(), __kmpc_reduce(), and __kmpc_reduce_nowait().

◆ __kmp_swap_teams_for_teams_reduction()

static __forceinline int __kmp_swap_teams_for_teams_reduction ( kmp_info_t th,
kmp_team_t **  team_p,
int task_state 
)
static

Definition at line 3535 of file kmp_csupport.cpp.

References KMP_DEBUG_ASSERT, and kmp_team::t.

Referenced by __kmpc_end_reduce(), __kmpc_reduce(), and __kmpc_reduce_nowait().

◆ __kmpc_destroy_lock()

void __kmpc_destroy_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ __kmpc_destroy_nest_lock()

void __kmpc_destroy_nest_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ __kmpc_doacross_fini()

void __kmpc_doacross_fini ( ident_t loc,
int  gtid 
)

◆ __kmpc_doacross_post()

void __kmpc_doacross_post ( ident_t loc,
int  gtid,
const kmp_int64 vec 
)

◆ __kmpc_doacross_wait()

void __kmpc_doacross_wait ( ident_t loc,
int  gtid,
const kmp_int64 vec 
)

◆ __kmpc_end_scope()

void __kmpc_end_scope ( ident_t loc,
kmp_int32  gtid,
void reserved 
)

◆ __kmpc_error()

void __kmpc_error ( ident_t loc,
int  severity,
const char message 
)

◆ __kmpc_get_parent_taskid()

kmp_uint64 __kmpc_get_parent_taskid ( )

◆ __kmpc_get_target_offload()

int __kmpc_get_target_offload ( void  )

◆ __kmpc_get_taskid()

kmp_uint64 __kmpc_get_taskid ( )

Definition at line 4060 of file kmp_csupport.cpp.

References __kmp_get_gtid, and __kmp_thread_from_gtid().

◆ __kmpc_init_lock()

void __kmpc_init_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ __kmpc_init_nest_lock()

void __kmpc_init_nest_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ __kmpc_invoke_task_func()

int __kmpc_invoke_task_func ( int  gtid)

Definition at line 545 of file kmp_csupport.cpp.

References __kmp_invoke_task_func().

◆ __kmpc_pause_resource()

int __kmpc_pause_resource ( kmp_pause_status_t  level)

Definition at line 4481 of file kmp_csupport.cpp.

References __kmp_init_serial, __kmp_pause_resource(), and level.

Referenced by FTN_PAUSE_RESOURCE(), and FTN_PAUSE_RESOURCE_ALL().

◆ __kmpc_pop_num_threads()

void __kmpc_pop_num_threads ( ident_t loc,
kmp_int32  global_tid 
)

Definition at line 240 of file kmp_csupport.cpp.

References KA_TRACE.

◆ __kmpc_push_proc_bind()

void __kmpc_push_proc_bind ( ident_t loc,
kmp_int32  global_tid,
kmp_int32  proc_bind 
)

Definition at line 245 of file kmp_csupport.cpp.

References __kmp_assert_valid_gtid(), __kmp_push_proc_bind(), KA_TRACE, and loc.

◆ __kmpc_scope()

void __kmpc_scope ( ident_t loc,
kmp_int32  gtid,
void reserved 
)

◆ __kmpc_set_lock()

void __kmpc_set_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ __kmpc_set_nest_lock()

void __kmpc_set_nest_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ __kmpc_test_lock()

int __kmpc_test_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ __kmpc_test_nest_lock()

int __kmpc_test_nest_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ __kmpc_unset_lock()

void __kmpc_unset_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ __kmpc_unset_nest_lock()

void __kmpc_unset_nest_lock ( ident_t loc,
kmp_int32  gtid,
void **  user_lock 
)

◆ kmpc_get_affinity_mask_proc()

int kmpc_get_affinity_mask_proc ( int  proc,
void **  mask 
)

Definition at line 2171 of file kmp_csupport.cpp.

◆ kmpc_set_affinity_mask_proc()

int kmpc_set_affinity_mask_proc ( int  proc,
void **  mask 
)

Definition at line 2147 of file kmp_csupport.cpp.

◆ kmpc_set_blocktime()

void kmpc_set_blocktime ( int  arg)

◆ kmpc_set_defaults()

void kmpc_set_defaults ( char const *  str)

Definition at line 2133 of file kmp_csupport.cpp.

References __kmp_aux_set_defaults(), and KMP_STRLEN.

◆ kmpc_set_disp_num_buffers()

void kmpc_set_disp_num_buffers ( int  arg)

◆ kmpc_set_library()

void kmpc_set_library ( int  arg)

Definition at line 2128 of file kmp_csupport.cpp.

References __kmp_user_set_library().

◆ kmpc_set_stacksize()

void kmpc_set_stacksize ( int  arg)

Definition at line 2106 of file kmp_csupport.cpp.

References __kmp_aux_set_stacksize().

◆ kmpc_set_stacksize_s()

void kmpc_set_stacksize_s ( size_t  arg)

Definition at line 2111 of file kmp_csupport.cpp.

References __kmp_aux_set_stacksize().

◆ kmpc_unset_affinity_mask_proc()

int kmpc_unset_affinity_mask_proc ( int  proc,
void **  mask 
)

Definition at line 2159 of file kmp_csupport.cpp.

◆ omp_aligned_alloc()

void * omp_aligned_alloc ( size_t  align,
size_t  size,
omp_allocator_handle_t  allocator 
)

Definition at line 4449 of file kmp_csupport.cpp.

References __kmp_alloc(), __kmp_entry_gtid, and size.

Referenced by main().

◆ omp_aligned_calloc()

void * omp_aligned_calloc ( size_t  align,
size_t  nmemb,
size_t  size,
omp_allocator_handle_t  allocator 
)

Definition at line 4458 of file kmp_csupport.cpp.

References __kmp_calloc(), __kmp_entry_gtid, and size.

Referenced by main().

◆ omp_alloc()

void * omp_alloc ( size_t  size,
omp_allocator_handle_t  allocator 
)

Definition at line 4445 of file kmp_csupport.cpp.

References __kmp_alloc(), __kmp_entry_gtid, and size.

Referenced by main().

◆ omp_calloc()

void * omp_calloc ( size_t  nmemb,
size_t  size,
omp_allocator_handle_t  allocator 
)

Definition at line 4454 of file kmp_csupport.cpp.

References __kmp_calloc(), __kmp_entry_gtid, and size.

Referenced by main().

◆ omp_free()

void omp_free ( void ptr,
omp_allocator_handle_t  allocator 
)

Definition at line 4469 of file kmp_csupport.cpp.

References ___kmpc_free(), and __kmp_entry_gtid.

Referenced by main().

◆ omp_realloc()

void * omp_realloc ( void ptr,
size_t  size,
omp_allocator_handle_t  allocator,
omp_allocator_handle_t  free_allocator 
)

Definition at line 4463 of file kmp_csupport.cpp.

References __kmp_entry_gtid, __kmp_realloc(), and size.

Referenced by main().

◆ ompc_capture_affinity()

size_t KMP_EXPAND_NAME() ompc_capture_affinity ( char buffer,
size_t  buf_size,
char const *  format 
)

◆ ompc_display_affinity()

void KMP_EXPAND_NAME() ompc_display_affinity ( char const *  format)

◆ ompc_get_affinity_format()

size_t KMP_EXPAND_NAME() ompc_get_affinity_format ( char buffer,
size_t  size 
)

◆ ompc_get_ancestor_thread_num()

int ompc_get_ancestor_thread_num ( int  level)

Definition at line 2034 of file kmp_csupport.cpp.

References __kmp_entry_gtid, __kmp_get_ancestor_thread_num(), and level.

◆ ompc_get_team_size()

int ompc_get_team_size ( int  level)

Definition at line 2038 of file kmp_csupport.cpp.

References __kmp_entry_gtid, __kmp_get_team_size(), and level.

◆ ompc_set_affinity_format()

void KMP_EXPAND_NAME() ompc_set_affinity_format ( char const *  format)

◆ ompc_set_dynamic()

void ompc_set_dynamic ( int  flag)

◆ ompc_set_max_active_levels()

void ompc_set_max_active_levels ( int  max_active_levels)

Definition at line 2021 of file kmp_csupport.cpp.

References __kmp_entry_gtid, and __kmp_set_max_active_levels().

◆ ompc_set_nested()

void ompc_set_nested ( int  flag)

◆ ompc_set_num_threads()

void ompc_set_num_threads ( int  arg)

Definition at line 1994 of file kmp_csupport.cpp.

References __kmp_entry_gtid, and __kmp_set_num_threads().

Referenced by __kmp_aux_env_initialize().

◆ ompc_set_schedule()

void ompc_set_schedule ( omp_sched_t  kind,
int  modifier 
)

Definition at line 2029 of file kmp_csupport.cpp.

References __kmp_entry_gtid, and __kmp_set_schedule().