LLVM OpenMP 20.0.0git
|
Go to the source code of this file.
Macros | |
#define | NO_DEP_BARRIER (false) |
#define | DEP_BARRIER (true) |
Enumerations | |
enum | { KMP_DEPHASH_OTHER_SIZE = 97 , KMP_DEPHASH_MASTER_SIZE = 997 } |
Variables | |
size_t | sizes [] = {997, 2003, 4001, 8191, 16001, 32003, 64007, 131071, 270029} |
const size_t | MAX_GEN = 8 |
#define DEP_BARRIER (true) |
Definition at line 568 of file kmp_taskdeps.cpp.
#define NO_DEP_BARRIER (false) |
Definition at line 567 of file kmp_taskdeps.cpp.
anonymous enum |
Enumerator | |
---|---|
KMP_DEPHASH_OTHER_SIZE | |
KMP_DEPHASH_MASTER_SIZE |
Definition at line 58 of file kmp_taskdeps.cpp.
|
static |
Definition at line 199 of file kmp_taskdeps.cpp.
References __kmp_node_ref(), __kmp_thread_malloc, kmp_depnode_list::next, and kmp_depnode_list::node.
Referenced by __kmp_depnode_link_successor(), and __kmp_process_deps().
|
static |
Definition at line 571 of file kmp_taskdeps.cpp.
References __kmp_process_dep_all(), kmp_depend_info::base_addr, kmp_depnode::dn, kmp_depend_info::flag, flag, i, j, KA_TRACE, KMP_DEBUG_ASSERT, KMP_DEP_ALL, KMP_DEP_IN, KMP_DEP_INOUT, KMP_DEP_MTX, KMP_DEP_OUT, KMP_DEP_SET, KMP_MB, KMP_SIZE_T_MAX, KMP_TASK_TO_TASKDATA, MAX_MTX_DEPS, kmp_base_depnode::npredecessors, and kmp_base_depnode::task.
Referenced by __kmpc_omp_task_with_deps(), and __kmpc_omp_taskwait_deps_51().
|
static |
Definition at line 125 of file kmp_taskdeps.cpp.
References __kmp_thread_malloc, h, i, KMP_DEPHASH_MASTER_SIZE, KMP_DEPHASH_OTHER_SIZE, size, TASK_IMPLICIT, kmp_tasking_flags::tasktype, and kmp_taskdata::td_flags.
Referenced by __kmpc_omp_task_with_deps().
|
static |
Definition at line 69 of file kmp_taskdeps.cpp.
References __kmp_dephash_hash(), __kmp_thread_free, __kmp_thread_malloc, kmp_dephash_entry::addr, kmp_dephash::buckets, kmp_dephash::generation, h, i, kmp_dephash::last_all, MAX_GEN, kmp_dephash::nelements, new_size, kmp_dephash_entry::next_in_bucket, kmp_dephash::size, and sizes.
Referenced by __kmp_dephash_find().
|
static |
Definition at line 157 of file kmp_taskdeps.cpp.
References __kmp_dephash_extend(), __kmp_dephash_hash(), __kmp_node_ref(), __kmp_thread_malloc, kmp_dephash_entry::addr, addr, h, kmp_dephash_entry::last_flag, kmp_dephash_entry::last_out, kmp_dephash_entry::last_set, kmp_dephash_entry::mtx_lock, kmp_dephash_entry::next_in_bucket, and kmp_dephash_entry::prev_set.
Referenced by __kmp_process_deps().
|
inlinestatic |
Definition at line 63 of file kmp_taskdeps.cpp.
References addr.
Referenced by __kmp_dephash_extend(), and __kmp_dephash_find().
|
inlinestatic |
Definition at line 298 of file kmp_taskdeps.cpp.
References __kmp_add_node(), __kmp_track_dependence(), KA_TRACE, KMP_ACQUIRE_DEPNODE, KMP_RELEASE_DEPNODE, KMP_TASK_TO_TASKDATA, and p.
Referenced by __kmp_process_dep_all(), and __kmp_process_deps().
|
inlinestatic |
Definition at line 340 of file kmp_taskdeps.cpp.
References __kmp_add_node(), __kmp_track_dependence(), kmp_depnode::dn, KA_TRACE, KMP_ACQUIRE_DEPNODE, KMP_RELEASE_DEPNODE, KMP_TASK_TO_TASKDATA, kmp_depnode_list::node, kmp_base_depnode::successors, kmp_base_depnode::task, and kmp_taskdata::td_flags.
|
static |
Definition at line 36 of file kmp_taskdeps.cpp.
References __kmp_init_lock(), kmp_depnode::dn, i, KMP_ATOMIC_INC, KMP_ATOMIC_ST_RLX, kmp_base_depnode::lock, MAX_MTX_DEPS, kmp_base_depnode::mtx_locks, kmp_base_depnode::mtx_num_locks, kmp_base_depnode::nrefs, kmp_base_depnode::successors, and kmp_base_depnode::task.
Referenced by __kmpc_omp_task_with_deps(), and __kmpc_omp_taskwait_deps_51().
|
inlinestatic |
Definition at line 53 of file kmp_taskdeps.cpp.
References kmp_depnode::dn, KMP_ATOMIC_INC, and kmp_base_depnode::nrefs.
Referenced by __kmp_add_node(), __kmp_dephash_find(), __kmp_process_dep_all(), and __kmp_process_deps().
|
inlinestatic |
Definition at line 394 of file kmp_taskdeps.cpp.
References __kmp_depnode_link_successor(), __kmp_depnode_list_free(), __kmp_node_deref(), __kmp_node_ref(), __kmp_threads, h, i, KA_TRACE, kmp_dephash_entry::last_flag, kmp_dephash_entry::last_out, kmp_dephash_entry::last_set, kmp_dephash_entry::next_in_bucket, and kmp_dephash_entry::prev_set.
Referenced by __kmp_check_deps().
|
inlinestatic |
Definition at line 452 of file kmp_taskdeps.cpp.
References __kmp_add_node(), __kmp_allocate, __kmp_dephash_find(), __kmp_depnode_link_successor(), __kmp_depnode_list_free(), __kmp_init_lock(), __kmp_node_deref(), __kmp_node_ref(), __kmp_threads, kmp_depnode::dn, DEP::flags, i, KA_TRACE, KMP_DEBUG_ASSERT, KMP_DEP_MTX, kmp_dephash_entry::last_flag, kmp_dephash_entry::last_out, kmp_dephash_entry::last_set, MAX_MTX_DEPS, kmp_dephash_entry::mtx_lock, kmp_base_depnode::mtx_locks, kmp_base_depnode::mtx_num_locks, and kmp_dephash_entry::prev_set.
|
inlinestatic |
Definition at line 218 of file kmp_taskdeps.cpp.
References __kmp_allocate, __kmp_free, __kmp_printf(), __kmp_threads, kmp_depnode::dn, i, KMP_ASSERT, KMP_TASK_TO_TASKDATA, ompt_callbacks, ompt_enabled, ident::psource, kmp_base_depnode::task, kmp_taskdata::td_ident, and kmp_taskdata::td_task_id.
Referenced by __kmp_depnode_link_successor().
void __kmpc_omp_taskwait_deps_51 | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_int32 | ndeps, | ||
kmp_depend_info_t * | dep_list, | ||
kmp_int32 | ndeps_noalias, | ||
kmp_depend_info_t * | noalias_dep_list, | ||
kmp_int32 | has_no_wait | ||
) |
Definition at line 900 of file kmp_taskdeps.cpp.
References __kmp_assert_valid_gtid(), __kmp_check_deps(), __kmp_init_node(), __kmp_task_stealing_constraint, __kmp_threads, DEP_BARRIER, kmp_depnode::dn, ompt_callbacks_active_s::enabled, FALSE, kmp_tasking_flags::final, flag, kmp_depend_info::flags, i, kmp_depend_info::in, KA_TRACE, KMP_ASSERT, KMP_YIELD, kmp_depend_info::mtx, kmp_base_depnode::npredecessors, kmp_base_depnode::nrefs, ompt_callbacks, ompt_enabled, OMPT_GET_FRAME_ADDRESS, kmp_depend_info::out, kmp_depend_info::set, kmp_tasking_flags::tasking_ser, kmp_taskdata::td_dephash, kmp_taskdata::td_flags, kmp_tasking_flags::team_serial, TRUE, and USE_ITT_BUILD_ARG.
Referenced by __kmpc_omp_wait_deps().
kmp_base_depnode_t * __kmpc_task_get_depnode | ( | kmp_task_t * | task | ) |
Definition at line 287 of file kmp_taskdeps.cpp.
References kmp_depnode::dn, KMP_TASK_TO_TASKDATA, and kmp_taskdata::td_depnode.
Referenced by main().
kmp_depnode_list_t * __kmpc_task_get_successors | ( | kmp_task_t * | task | ) |
Definition at line 292 of file kmp_taskdeps.cpp.
References kmp_depnode::dn, KMP_TASK_TO_TASKDATA, kmp_base_depnode::successors, and kmp_taskdata::td_depnode.
Referenced by main().
const size_t MAX_GEN = 8 |
Definition at line 61 of file kmp_taskdeps.cpp.
Referenced by __kmp_dephash_extend().
size_t sizes[] = {997, 2003, 4001, 8191, 16001, 32003, 64007, 131071, 270029} |
Definition at line 60 of file kmp_taskdeps.cpp.
Referenced by __kmp_dephash_extend(), and main().