LLVM OpenMP 20.0.0git
|
#include "kmp.h"
Go to the source code of this file.
Macros | |
#define | KMP_ACQUIRE_DEPNODE(gtid, n) __kmp_acquire_lock(&(n)->dn.lock, (gtid)) |
#define | KMP_RELEASE_DEPNODE(gtid, n) __kmp_release_lock(&(n)->dn.lock, (gtid)) |
Functions | |
static void | __kmp_node_deref (kmp_info_t *thread, kmp_depnode_t *node) |
static void | __kmp_depnode_list_free (kmp_info_t *thread, kmp_depnode_list *list) |
static void | __kmp_dephash_free_entries (kmp_info_t *thread, kmp_dephash_t *h) |
static void | __kmp_dephash_free (kmp_info_t *thread, kmp_dephash_t *h) |
void | __kmpc_give_task (kmp_task_t *ptask, kmp_int32 start) |
static void | __kmp_release_deps (kmp_int32 gtid, kmp_taskdata_t *task) |
#define KMP_ACQUIRE_DEPNODE | ( | gtid, | |
n | |||
) | __kmp_acquire_lock(&(n)->dn.lock, (gtid)) |
Definition at line 18 of file kmp_taskdeps.h.
#define KMP_RELEASE_DEPNODE | ( | gtid, | |
n | |||
) | __kmp_release_lock(&(n)->dn.lock, (gtid)) |
Definition at line 19 of file kmp_taskdeps.h.
|
inlinestatic |
Definition at line 83 of file kmp_taskdeps.h.
References __kmp_dephash_free_entries(), __kmp_thread_free, and h.
Referenced by __kmp_free_implicit_task(), and __kmp_release_deps().
|
inlinestatic |
Definition at line 56 of file kmp_taskdeps.h.
References __kmp_depnode_list_free(), __kmp_destroy_lock(), __kmp_free, __kmp_node_deref(), __kmp_thread_free, h, i, and kmp_dephash_entry::next_in_bucket.
Referenced by __kmp_dephash_free(), __kmp_finish_implicit_task(), and __kmp_free_task_and_ancestors().
|
inlinestatic |
Definition at line 40 of file kmp_taskdeps.h.
References __kmp_node_deref(), __kmp_thread_free, kmp_depnode_list::next, and kmp_depnode_list::node.
Referenced by __kmp_dephash_free_entries(), __kmp_process_dep_all(), and __kmp_process_deps().
|
inlinestatic |
Definition at line 21 of file kmp_taskdeps.h.
References __kmp_thread_free, kmp_depnode::dn, KMP_ASSERT, KMP_ATOMIC_DEC, KMP_DEBUG_ASSERT, and kmp_base_depnode::nrefs.
Referenced by __kmp_dephash_free_entries(), __kmp_depnode_list_free(), __kmp_process_dep_all(), __kmp_process_deps(), and __kmp_release_deps().
|
inlinestatic |
Definition at line 94 of file kmp_taskdeps.h.
References __kmp_dephash_free(), __kmp_node_deref(), __kmp_omp_task(), __kmp_release_lock(), __kmp_thread_free, __kmp_threads, __kmp_tid_from_gtid(), __kmpc_give_task(), kmp_depnode::dn, kmp_tasking_flags::hidden_helper, i, KA_TRACE, KMP_ACQUIRE_DEPNODE, KMP_ASSERT, KMP_ATOMIC_DEC, KMP_DEBUG_ASSERT, KMP_HIDDEN_HELPER_THREAD, KMP_MB, KMP_RELEASE_DEPNODE, KMP_TASK_TO_TASKDATA, kmp_base_depnode::mtx_locks, kmp_base_depnode::mtx_num_locks, kmp_base_depnode::npredecessors, p, kmp_base_depnode::successors, kmp_base_depnode::task, kmp_taskdata::td_alloc_thread, kmp_taskdata::td_flags, kmp_info::th, and UNLIKELY.
Referenced by __kmp_bottom_half_finish_proxy(), and __kmp_task_finish().
void __kmpc_give_task | ( | kmp_task_t * | ptask, |
kmp_int32 | start | ||
) |
Definition at line 4532 of file kmp_tasking.cpp.
References __kmp_dflt_blocktime, __kmp_give_task(), __kmp_null_resume_wrapper(), __kmp_wpolicy_passive, i, KMP_DEBUG_ASSERT, KMP_MAX_BLOCKTIME, KMP_TASK_TO_TASKDATA, kmp_team::t, and kmp_taskdata::td_team.
Referenced by __kmp_push_task(), __kmp_release_deps(), __kmp_task_finish(), and __kmpc_proxy_task_completed_ooo().