LLVM OpenMP 20.0.0git
|
#include "kmp.h"
#include "kmp_i18n.h"
#include "kmp_itt.h"
#include "kmp_stats.h"
#include "kmp_wait_release.h"
#include "kmp_taskdeps.h"
Go to the source code of this file.
Classes | |
struct | kmp_taskred_flags |
Flags for special info per task reduction item. More... | |
struct | kmp_task_red_input |
Internal struct for reduction data item related info set up by compiler. More... | |
struct | kmp_taskred_data |
Internal struct for reduction data item related info saved by the library. More... | |
struct | kmp_taskred_input |
Internal struct for reduction data item related info set up by compiler. More... | |
class | kmp_taskloop_bounds_t |
struct | __taskloop_params |
Macros | |
#define | PROXY_TASK_FLAG 0x40000000 |
Typedefs | |
typedef void(* | p_task_dup_t) (kmp_task_t *, kmp_task_t *, kmp_int32) |
typedef struct __taskloop_params | __taskloop_params_t |
typedef struct kmp_taskred_flags | kmp_taskred_flags_t |
Flags for special info per task reduction item. | |
typedef struct kmp_task_red_input | kmp_task_red_input_t |
Internal struct for reduction data item related info set up by compiler. | |
typedef struct kmp_taskred_data | kmp_taskred_data_t |
Internal struct for reduction data item related info saved by the library. | |
typedef struct kmp_taskred_input | kmp_taskred_input_t |
Internal struct for reduction data item related info set up by compiler. | |
Variables | |
static kmp_task_team_t * | __kmp_free_task_teams |
kmp_bootstrap_lock_t | __kmp_task_team_lock |
#define PROXY_TASK_FLAG 0x40000000 |
Definition at line 4439 of file kmp_tasking.cpp.
typedef struct __taskloop_params __taskloop_params_t |
typedef void(* p_task_dup_t) (kmp_task_t *, kmp_task_t *, kmp_int32) |
Definition at line 4749 of file kmp_tasking.cpp.
|
static |
Definition at line 3767 of file kmp_tasking.cpp.
References __kmp_allocate, __kmp_gtid_from_thread(), __kmp_init_bootstrap_lock(), INITIAL_TASK_DEQUE_SIZE, KE_TRACE, KMP_DEBUG_ASSERT, and TCR_4.
Referenced by __kmp_push_task(), __kmp_task_alloc(), and __kmp_task_team_setup().
|
static |
Definition at line 338 of file kmp_tasking.cpp.
References __kmp_allocate, __kmp_get_gtid, __kmp_init_bootstrap_lock(), INITIAL_TASK_DEQUE_SIZE, KE_TRACE, and kmp_task_pri::td.
Referenced by __kmp_get_priority_deque_data(), and __kmp_push_priority_task().
|
static |
Definition at line 3971 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_allocate, __kmp_free_task_teams, __kmp_gtid_from_thread(), __kmp_init_bootstrap_lock(), __kmp_release_bootstrap_lock(), __kmp_task_team_init(), __kmp_task_team_lock, CCAST, KA_TRACE, KE_TRACE, KMP_ATOMIC_LD_RLX, TCR_PTR, TCW_PTR, kmp_task_team::tt, kmp_base_task_team::tt_active, kmp_base_task_team::tt_found_tasks, kmp_base_task_team::tt_next, kmp_base_task_team::tt_task_pri_lock, kmp_base_task_team::tt_threads_lock, and kmp_base_task_team::tt_unfinished_threads.
Referenced by __kmp_task_team_setup().
void __kmp_assign_orig | ( | kmp_taskred_data_t & | item, |
T & | src | ||
) |
void __kmp_assign_orig< kmp_task_red_input_t > | ( | kmp_taskred_data_t & | item, |
kmp_task_red_input_t & | src | ||
) |
Definition at line 2497 of file kmp_tasking.cpp.
References kmp_taskred_data::reduce_orig.
void __kmp_assign_orig< kmp_taskred_input_t > | ( | kmp_taskred_data_t & | item, |
kmp_taskred_input_t & | src | ||
) |
Definition at line 2502 of file kmp_tasking.cpp.
References kmp_taskred_data::reduce_orig, kmp_taskred_input::reduce_orig, and kmp_taskred_input::reduce_shar.
int __kmp_atomic_execute_tasks_64 | ( | kmp_info_t * | thread, |
kmp_int32 | gtid, | ||
kmp_atomic_flag_64< C, S > * | flag, | ||
int | final_spin, | ||
int *thread_finished | USE_ITT_BUILD_ARGvoid *itt_sync_obj, | ||
kmp_int32 | is_constrained | ||
) |
Definition at line 3615 of file kmp_tasking.cpp.
References __kmp_execute_tasks_template(), flag, and USE_ITT_BUILD_ARG.
template int __kmp_atomic_execute_tasks_64< false, true > | ( | kmp_info_t * | , |
kmp_int32 | , | ||
kmp_atomic_flag_64< false, true > * | , | ||
int | , | ||
int * | USE_ITT_BUILD_ARGvoid *, | ||
kmp_int32 | |||
) |
template int __kmp_atomic_execute_tasks_64< true, false > | ( | kmp_info_t * | , |
kmp_int32 | , | ||
kmp_atomic_flag_64< true, false > * | , | ||
int | , | ||
int * | USE_ITT_BUILD_ARGvoid *, | ||
kmp_int32 | |||
) |
|
static |
Definition at line 4488 of file kmp_tasking.cpp.
References __kmp_free_task_and_ancestors(), __kmp_release_deps(), __kmp_threads, kmp_tasking_flags::complete, KMP_ATOMIC_LD_ACQ, KMP_DEBUG_ASSERT, KMP_TASK_TO_TASKDATA, kmp_tasking_flags::proxy, PROXY_TASK_FLAG, TASK_PROXY, kmp_taskdata::td_flags, and kmp_taskdata::td_incomplete_child_tasks.
Referenced by __kmp_invoke_task(), and __kmpc_proxy_task_completed().
void __kmp_call_init | ( | kmp_taskred_data_t & | item, |
size_t | j | ||
) |
void __kmp_call_init< kmp_task_red_input_t > | ( | kmp_taskred_data_t & | item, |
size_t | offset | ||
) |
Definition at line 2513 of file kmp_tasking.cpp.
References kmp_taskred_data::reduce_init, kmp_taskred_data::reduce_priv, and void.
void __kmp_call_init< kmp_taskred_input_t > | ( | kmp_taskred_data_t & | item, |
size_t | offset | ||
) |
Definition at line 2518 of file kmp_tasking.cpp.
References kmp_taskred_data::reduce_init, kmp_taskred_data::reduce_orig, kmp_taskred_data::reduce_priv, and void.
|
static |
Definition at line 3661 of file kmp_tasking.cpp.
References __kmp_dflt_blocktime, __kmp_gtid_from_thread(), __kmp_null_resume_wrapper(), __kmp_realloc_task_threads_data(), __kmp_tasking_mode, CCAST, i, KA_TRACE, KF_TRACE, KMP_DEBUG_ASSERT, KMP_MAX_BLOCKTIME, TCR_PTR, tskm_task_teams, kmp_task_team::tt, kmp_base_task_team::tt_nproc, and kmp_base_task_team::tt_threads_data.
Referenced by __kmp_push_task(), __kmp_task_alloc(), and __kmp_task_team_setup().
int __kmp_execute_tasks_32 | ( | kmp_info_t * | thread, |
kmp_int32 | gtid, | ||
kmp_flag_32< C, S > * | flag, | ||
int | final_spin, | ||
int *thread_finished | USE_ITT_BUILD_ARGvoid *itt_sync_obj, | ||
kmp_int32 | is_constrained | ||
) |
Definition at line 3595 of file kmp_tasking.cpp.
References __kmp_execute_tasks_template(), flag, and USE_ITT_BUILD_ARG.
Referenced by __kmpc_omp_taskyield().
template int __kmp_execute_tasks_32< false, false > | ( | kmp_info_t * | , |
kmp_int32 | , | ||
kmp_flag_32< false, false > * | , | ||
int | , | ||
int * | USE_ITT_BUILD_ARGvoid *, | ||
kmp_int32 | |||
) |
int __kmp_execute_tasks_64 | ( | kmp_info_t * | thread, |
kmp_int32 | gtid, | ||
kmp_flag_64< C, S > * | flag, | ||
int | final_spin, | ||
int *thread_finished | USE_ITT_BUILD_ARGvoid *itt_sync_obj, | ||
kmp_int32 | is_constrained | ||
) |
Definition at line 3605 of file kmp_tasking.cpp.
References __kmp_execute_tasks_template(), flag, and USE_ITT_BUILD_ARG.
template int __kmp_execute_tasks_64< false, true > | ( | kmp_info_t * | , |
kmp_int32 | , | ||
kmp_flag_64< false, true > * | , | ||
int | , | ||
int * | USE_ITT_BUILD_ARGvoid *, | ||
kmp_int32 | |||
) |
template int __kmp_execute_tasks_64< true, false > | ( | kmp_info_t * | , |
kmp_int32 | , | ||
kmp_flag_64< true, false > * | , | ||
int | , | ||
int * | USE_ITT_BUILD_ARGvoid *, | ||
kmp_int32 | |||
) |
int __kmp_execute_tasks_oncore | ( | kmp_info_t * | thread, |
kmp_int32 | gtid, | ||
kmp_flag_oncore * | flag, | ||
int | final_spin, | ||
int *thread_finished | USE_ITT_BUILD_ARGvoid *itt_sync_obj, | ||
kmp_int32 | is_constrained | ||
) |
Definition at line 3624 of file kmp_tasking.cpp.
References __kmp_execute_tasks_template(), flag, and USE_ITT_BUILD_ARG.
|
inlinestatic |
Definition at line 3372 of file kmp_tasking.cpp.
References __kmp_dflt_blocktime, __kmp_get_priority_task(), __kmp_get_random(), __kmp_invoke_task(), __kmp_library, __kmp_null_resume_wrapper(), __kmp_remove_my_task(), __kmp_steal_task(), __kmp_tasking_mode, __kmp_threads, bs_forkjoin_barrier, CCAST, count, FALSE, flag, KA_TRACE, KMP_ATOMIC_DEC, KMP_ATOMIC_LD_ACQ, KMP_CHECK_UPDATE, KMP_DEBUG_ASSERT, KMP_MAX_BLOCKTIME, KMP_NOT_SAFE_TO_REAP, KMP_YIELD, library_throughput, TCR_4, TCR_PTR, kmp_taskdata::td_incomplete_child_tasks, TRUE, tskm_immediate_exec, tskm_task_teams, kmp_task_team::tt, kmp_base_task_team::tt_nproc, kmp_base_task_team::tt_num_task_pri, kmp_base_task_team::tt_threads_data, and kmp_base_task_team::tt_unfinished_threads.
Referenced by __kmp_atomic_execute_tasks_64(), __kmp_execute_tasks_32(), __kmp_execute_tasks_64(), and __kmp_execute_tasks_oncore().
void __kmp_finish_implicit_task | ( | kmp_info_t * | thread | ) |
Definition at line 1396 of file kmp_tasking.cpp.
References __kmp_dephash_free_entries(), kmp_tasking_flags::complete, KA_TRACE, KMP_ATOMIC_LD_ACQ, KMP_COMPARE_AND_STORE_ACQ32, RCAST, and task::th.
Referenced by __kmp_run_after_invoked_task().
|
static |
Definition at line 4456 of file kmp_tasking.cpp.
References kmp_tasking_flags::complete, kmp_taskgroup::count, kmp_tasking_flags::freed, KMP_ATOMIC_DEC, KMP_ATOMIC_OR, KMP_DEBUG_ASSERT, kmp_tasking_flags::proxy, PROXY_TASK_FLAG, TASK_EXPLICIT, TASK_PROXY, kmp_tasking_flags::tasktype, kmp_taskdata::td_flags, kmp_taskdata::td_incomplete_child_tasks, and kmp_taskdata::td_taskgroup.
Referenced by __kmpc_proxy_task_completed(), and __kmpc_proxy_task_completed_ooo().
void __kmp_free_implicit_task | ( | kmp_info_t * | thread | ) |
Definition at line 1425 of file kmp_tasking.cpp.
References __kmp_dephash_free(), and task::th.
Referenced by __kmp_free_thread(), and __kmp_reap_thread().
|
static |
Definition at line 887 of file kmp_tasking.cpp.
References __kmp_thread_free, kmp_tasking_flags::complete, kmp_tasking_flags::executing, kmp_tasking_flags::final, kmp_tasking_flags::freed, KA_TRACE, KMP_ATOMIC_ST_RLX, KMP_DEBUG_ASSERT, KMP_TASKDATA_TO_TASK, task::priority, kmp_tasking_flags::started, TASK_EXPLICIT, kmp_tasking_flags::task_serial, kmp_tasking_flags::tasking_ser, kmp_tasking_flags::tasktype, kmp_taskdata::td_allocated_child_tasks, kmp_taskdata::td_flags, kmp_taskdata::td_incomplete_child_tasks, kmp_taskdata::td_parent, kmp_taskdata::td_untied_count, and kmp_tasking_flags::team_serial.
Referenced by __kmp_free_task_and_ancestors().
|
static |
Definition at line 943 of file kmp_tasking.cpp.
References __kmp_dephash_free_entries(), __kmp_free_task(), kmp_tasking_flags::complete, KA_TRACE, KMP_ATOMIC_DEC, KMP_ATOMIC_LD_ACQ, KMP_COMPARE_AND_STORE_ACQ32, KMP_DEBUG_ASSERT, kmp_tasking_flags::proxy, RCAST, TASK_EXPLICIT, TASK_IMPLICIT, kmp_tasking_flags::tasking_ser, kmp_tasking_flags::tasktype, kmp_taskdata::td_allocated_child_tasks, kmp_taskdata::td_dephash, kmp_taskdata::td_flags, kmp_taskdata::td_incomplete_child_tasks, kmp_taskdata::td_parent, and kmp_tasking_flags::team_serial.
Referenced by __kmp_bottom_half_finish_proxy(), and __kmp_task_finish().
|
static |
Definition at line 3794 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_free, __kmp_release_bootstrap_lock(), __kmp_thread_from_gtid(), and TCW_4.
Referenced by __kmp_free_task_pri_list(), and __kmp_free_task_threads_data().
|
static |
Definition at line 3938 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_free, __kmp_free_task_deque(), __kmp_release_bootstrap_lock(), kmp_task_pri::next, kmp_task_pri::td, kmp_task_team::tt, kmp_base_task_team::tt_task_pri_list, and kmp_base_task_team::tt_task_pri_lock.
Referenced by __kmp_reap_task_teams().
void __kmp_free_task_team | ( | kmp_info_t * | thread, |
kmp_task_team_t * | task_team | ||
) |
Definition at line 4027 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_free_task_teams, __kmp_gtid_from_thread(), __kmp_release_bootstrap_lock(), __kmp_task_team_lock, KA_TRACE, KMP_DEBUG_ASSERT, TCW_PTR, kmp_task_team::tt, and kmp_base_task_team::tt_next.
Referenced by __kmp_free_team(), and __kmp_pop_task_team_node().
|
static |
Definition at line 3922 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_free, __kmp_free_task_deque(), __kmp_release_bootstrap_lock(), i, kmp_task_team::tt, kmp_base_task_team::tt_max_threads, kmp_base_task_team::tt_threads_data, and kmp_base_task_team::tt_threads_lock.
Referenced by __kmp_reap_task_teams().
void __kmp_fulfill_event | ( | kmp_event_t * | event | ) |
Definition at line 4612 of file kmp_tasking.cpp.
References __kmp_acquire_tas_lock(), __kmp_get_gtid, __kmp_get_thread, __kmp_release_tas_lock(), __kmpc_proxy_task_completed(), __kmpc_proxy_task_completed_ooo(), ompt_callbacks_active_s::enabled, event, KMP_EVENT_ALLOW_COMPLETION, KMP_EVENT_UNINITIALIZED, KMP_TASK_TO_TASKDATA, ompt_enabled, kmp_tasking_flags::proxy, TASK_PROXY, kmp_taskdata::td_flags, kmp_taskdata::td_team, and UNLIKELY.
Referenced by FTN_FULFILL_EVENT().
|
static |
Definition at line 358 of file kmp_tasking.cpp.
References __kmp_alloc_task_pri_list(), kmp_task_pri::next, kmp_task_pri::priority, kmp_task_pri::td, kmp_task_team::tt, and kmp_base_task_team::tt_task_pri_list.
Referenced by __kmp_push_priority_task().
|
static |
Definition at line 3058 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_atomic_compare_store(), __kmp_get_gtid, __kmp_release_bootstrap_lock(), __kmp_task_is_allowed(), __kmp_threads, i, KA_TRACE, KMP_ASSERT, KMP_DEBUG_ASSERT, KMP_TASKDATA_TO_TASK, kmp_task_pri::next, target(), TASK_DEQUE_MASK, kmp_task_pri::td, kmp_task_team::tt, kmp_base_task_team::tt_num_task_pri, kmp_base_task_team::tt_task_pri_list, and kmp_base_task_team::tt_untied_task_encountered.
Referenced by __kmp_execute_tasks_template().
|
static |
Definition at line 4359 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_realloc_task_deque(), __kmp_release_bootstrap_lock(), INITIAL_TASK_DEQUE_SIZE, KA_TRACE, KMP_DEBUG_ASSERT, KMP_TASK_TO_TASKDATA, result, TASK_DEQUE_MASK, TASK_DEQUE_SIZE, TCR_4, TCW_4, kmp_taskdata::td_task_team, kmp_task_team::tt, and kmp_base_task_team::tt_threads_data.
Referenced by __kmpc_give_task().
void __kmp_init_implicit_task | ( | ident_t * | loc_ref, |
kmp_info_t * | this_thr, | ||
kmp_team_t * | team, | ||
int | tid, | ||
int | set_curr_task | ||
) |
Definition at line 1331 of file kmp_tasking.cpp.
References __kmp_push_current_task_to_thread(), __kmp_tasking_mode, ompt_callbacks_active_s::enabled, KF_TRACE, KMP_ATOMIC_ST_REL, KMP_DEBUG_ASSERT, KMP_EVENT_UNINITIALIZED, KMP_GEN_TASK_ID, ompt_enabled, kmp_team::t, TASK_FULL, TASK_IMPLICIT, TASK_TIED, tskm_immediate_exec, and UNLIKELY.
Referenced by __kmp_dist_barrier_release(), __kmp_fork_barrier(), __kmp_hierarchical_barrier_release(), __kmp_hyper_barrier_release(), __kmp_initialize_info(), __kmp_linear_barrier_release_template(), __kmp_reinitialize_team(), __kmp_setup_icv_copy(), and __kmp_tree_barrier_release().
|
static |
Definition at line 1756 of file kmp_tasking.cpp.
References __kmp_bottom_half_finish_proxy(), __kmp_omp_cancellation, __kmp_task_start(), __kmp_threads, __ompt_get_task_info_internal(), __ompt_get_teaminfo(), kmp_target_data::async_handle, cancel_parallel, kmp_taskgroup::cancel_request, kmp_tasking_flags::complete, ompt_callbacks_active_s::enabled, instance, KA_TRACE, KMP_ASSERT, KMP_COUNT_BLOCK, KMP_DEBUG_ASSERT, KMP_FSYNC_ACQUIRED, KMP_FSYNC_CANCEL, KMP_FSYNC_RELEASING, KMP_GET_THREAD_STATE, KMP_POP_PARTITIONED_TIMER, KMP_PUSH_PARTITIONED_TIMER, KMP_TASK_TO_TASKDATA, kmp_tasking_flags::native, ompt_callbacks, ompt_enabled, OMPT_GET_FRAME_ADDRESS, ompt_team_info_t::parallel_data, kmp_tasking_flags::proxy, task::routine, task::shareds, kmp_team::t, kmp_tasking_flags::target, TASK_IMPLICIT, TASK_PROXY, kmp_tasking_flags::task_serial, TASK_TIED, TASK_UNTIED, kmp_tasking_flags::tasktype, kmp_taskdata::td_flags, kmp_taskdata::td_last_tied, kmp_taskdata::td_parent, kmp_taskdata::td_target_data, kmp_taskdata::td_taskgroup, kmp_tasking_flags::tiedness, UNLIKELY, void, and ompt_thread_info_t::wait_id.
Referenced by __kmp_execute_tasks_template(), __kmp_omp_task(), and __kmpc_omp_task_parts().
kmp_int32 __kmp_omp_task | ( | kmp_int32 | gtid, |
kmp_task_t * | new_task, | ||
bool | serialize_immediate | ||
) |
Definition at line 2029 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_allocate, __kmp_dflt_blocktime, __kmp_free, __kmp_invoke_task(), __kmp_null_resume_wrapper(), __kmp_push_task(), __kmp_release_bootstrap_lock(), __kmp_threads, __kmp_wpolicy_passive, i, KMP_ATOMIC_INC, KMP_ATOMIC_ST_REL, KMP_MAX_BLOCKTIME, KMP_MEMCPY, KMP_TASK_TO_TASKDATA, new_size, kmp_tasking_flags::proxy, kmp_team::t, TASK_CURRENT_NOT_QUEUED, TASK_NOT_PUSHED, TASK_PROXY, kmp_tasking_flags::task_serial, kmp_taskdata::td_flags, kmp_taskdata::td_parent, and kmp_taskdata::td_task_id.
Referenced by __kmp_omp_taskloop_task(), __kmp_release_deps(), __kmp_taskloop_linear(), __kmp_taskloop_recur(), __kmpc_omp_task(), and __kmpc_omp_task_with_deps().
kmp_int32 __kmp_omp_taskloop_task | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_task_t * | new_task, | ||
void * | codeptr_ra | ||
) |
Definition at line 2186 of file kmp_tasking.cpp.
References __kmp_omp_task(), ompt_callbacks_active_s::enabled, KA_TRACE, KMP_SET_THREAD_STATE_BLOCK, KMP_TASK_TO_TASKDATA, ompt_callbacks, ompt_enabled, OMPT_GET_FRAME_ADDRESS, parent, res, kmp_tasking_flags::started, TASK_TYPE_DETAILS_FORMAT, kmp_taskdata::td_flags, kmp_taskdata::td_parent, and UNLIKELY.
Referenced by __kmp_taskloop_linear(), and __kmp_taskloop_recur().
void __kmp_pop_current_task_from_thread | ( | kmp_info_t * | this_thr | ) |
Definition at line 612 of file kmp_tasking.cpp.
References KF_TRACE.
Referenced by __kmp_join_call(), and __kmpc_end_serialized_parallel().
void __kmp_pop_task_team_node | ( | kmp_info_t * | thread, |
kmp_team_t * | team | ||
) |
Definition at line 4086 of file kmp_tasking.cpp.
References __kmp_free, __kmp_free_task_team(), KMP_DEBUG_ASSERT, kmp_task_team_list_t::next, kmp_team::t, and kmp_task_team_list_t::task_team.
Referenced by __kmpc_end_serialized_parallel().
void __kmp_push_current_task_to_thread | ( | kmp_info_t * | this_thr, |
kmp_team_t * | team, | ||
int | tid | ||
) |
Definition at line 634 of file kmp_tasking.cpp.
References KF_TRACE, KMP_DEBUG_ASSERT, and kmp_team::t.
Referenced by __kmp_allocate_team(), __kmp_init_implicit_task(), and __kmp_serialized_parallel().
|
static |
Definition at line 402 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_alloc_task_pri_list(), __kmp_enable_task_throttling, __kmp_get_priority_deque_data(), __kmp_realloc_task_deque(), __kmp_release_bootstrap_lock(), __kmp_task_is_allowed(), __kmp_task_stealing_constraint, KA_TRACE, KMP_DEBUG_ASSERT, KMP_FSYNC_RELEASING, kmp_task_pri::next, kmp_task_pri::priority, TASK_DEQUE_MASK, TASK_DEQUE_SIZE, TASK_NOT_PUSHED, TASK_SUCCESSFULLY_PUSHED, TCR_4, TCW_4, kmp_task_pri::td, kmp_task_team::tt, kmp_base_task_team::tt_num_task_pri, kmp_base_task_team::tt_task_pri_list, kmp_base_task_team::tt_task_pri_lock, and UNLIKELY.
Referenced by __kmp_push_task().
|
static |
Definition at line 477 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_alloc_task_deque(), __kmp_enable_task_throttling, __kmp_enable_tasking(), __kmp_hidden_helper_worker_thread_signal(), __kmp_max_task_priority, __kmp_push_priority_task(), __kmp_realloc_task_deque(), __kmp_release_bootstrap_lock(), __kmp_task_is_allowed(), __kmp_task_stealing_constraint, __kmp_tasking_mode, __kmp_threads, __kmp_tid_from_gtid(), __kmpc_give_task(), counter, kmp_tasking_flags::hidden_helper, KA_TRACE, KMP_ATOMIC_INC, KMP_DEBUG_ASSERT, KMP_DEBUG_USE_VAR, KMP_FSYNC_RELEASING, KMP_GTID_TO_SHADOW_GTID, KMP_HIDDEN_HELPER_THREAD, KMP_MIN, KMP_TASK_TO_TASKDATA, KMP_TASKING_ENABLED, task::priority, kmp_tasking_flags::priority_specified, TASK_DEQUE_MASK, TASK_DEQUE_SIZE, TASK_NOT_PUSHED, kmp_tasking_flags::task_serial, TASK_SUCCESSFULLY_PUSHED, TASK_UNTIED, TCR_4, TCR_PTR, TCW_4, kmp_taskdata::td_flags, kmp_taskdata::td_untied_count, kmp_tasking_flags::tiedness, TRUE, tskm_immediate_exec, kmp_task_team::tt, kmp_base_task_team::tt_found_tasks, kmp_base_task_team::tt_threads_data, and UNLIKELY.
Referenced by __kmp_omp_task(), and __kmpc_omp_task_parts().
void __kmp_push_task_team_node | ( | kmp_info_t * | thread, |
kmp_team_t * | team | ||
) |
Definition at line 4073 of file kmp_tasking.cpp.
References __kmp_allocate, KMP_DEBUG_ASSERT, kmp_task_team_list_t::next, kmp_team::t, and kmp_task_team_list_t::task_team.
Referenced by __kmp_serialized_parallel().
|
static |
Definition at line 312 of file kmp_tasking.cpp.
References __kmp_allocate, __kmp_free, __kmp_gtid_from_thread(), i, j, KE_TRACE, KMP_DEBUG_ASSERT, new_size, size, TASK_DEQUE_MASK, TASK_DEQUE_SIZE, and TCR_4.
Referenced by __kmp_give_task(), __kmp_push_priority_task(), and __kmp_push_task().
|
static |
Definition at line 3818 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_allocate, __kmp_free, __kmp_gtid_from_thread(), __kmp_release_bootstrap_lock(), FALSE, i, KE_TRACE, KMP_DEBUG_ASSERT, KMP_MB, KMP_MEMCPY_S, kmp_team::t, TCR_4, TCW_SYNC_4, TRUE, kmp_task_team::tt, kmp_base_task_team::tt_found_tasks, kmp_base_task_team::tt_max_threads, kmp_base_task_team::tt_nproc, kmp_base_task_team::tt_threads_data, and kmp_base_task_team::tt_threads_lock.
Referenced by __kmp_enable_tasking().
Definition at line 4046 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_free, __kmp_free_task_pri_list(), __kmp_free_task_teams, __kmp_free_task_threads_data(), __kmp_release_bootstrap_lock(), __kmp_task_team_lock, TCR_PTR, kmp_task_team::tt, kmp_base_task_team::tt_next, kmp_base_task_team::tt_task_pri_list, and kmp_base_task_team::tt_threads_data.
Referenced by __kmp_internal_end().
|
static |
Definition at line 3159 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_release_bootstrap_lock(), __kmp_task_is_allowed(), __kmp_tasking_mode, __kmp_tid_from_gtid(), KA_TRACE, KMP_DEBUG_ASSERT, KMP_TASKDATA_TO_TASK, tail, TASK_DEQUE_MASK, TCR_4, TCW_4, tskm_immediate_exec, kmp_task_team::tt, and kmp_base_task_team::tt_threads_data.
Referenced by __kmp_execute_tasks_template().
|
static |
Definition at line 1435 of file kmp_tasking.cpp.
References KMP_SIZE_T_MAX, size, and val.
Referenced by __kmp_task_alloc().
|
static |
Definition at line 4475 of file kmp_tasking.cpp.
References KMP_ATOMIC_AND, KMP_ATOMIC_DEC, KMP_DEBUG_ASSERT, PROXY_TASK_FLAG, kmp_taskdata::td_incomplete_child_tasks, and kmp_taskdata::td_parent.
Referenced by __kmpc_proxy_task_completed(), and __kmpc_proxy_task_completed_ooo().
|
static |
Definition at line 3231 of file kmp_tasking.cpp.
References __kmp_acquire_bootstrap_lock(), __kmp_gtid_from_thread(), __kmp_release_bootstrap_lock(), __kmp_task_is_allowed(), __kmp_tasking_mode, __kmp_threads, count, FALSE, i, KA_TRACE, KMP_ATOMIC_INC, KMP_COUNT_BLOCK, KMP_DEBUG_ASSERT, KMP_TASKDATA_TO_TASK, target(), TASK_DEQUE_MASK, TCR_4, TCW_4, tskm_immediate_exec, kmp_task_team::tt, kmp_base_task_team::tt_threads_data, kmp_base_task_team::tt_untied_task_encountered, and void.
Referenced by __kmp_execute_tasks_template().
kmp_task_t * __kmp_task_alloc | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_tasking_flags_t * | flags, | ||
size_t | sizeof_kmp_task_t, | ||
size_t | sizeof_shareds, | ||
kmp_routine_entry_t | task_entry | ||
) |
Definition at line 1457 of file kmp_tasking.cpp.
References __kmp_alloc_task_deque(), __kmp_enable_hidden_helper, __kmp_enable_tasking(), __kmp_hidden_helper_initialize(), __kmp_init_hidden_helper, __kmp_init_middle, __kmp_middle_initialize(), __kmp_round_up_to_val(), __kmp_task_team_setup(), __kmp_tasking_mode, __kmp_taskloop_task(), __kmp_thread_malloc, __kmp_threads, __kmp_track_children_task(), __kmp_unexecuted_hidden_helper_tasks, kmp_target_data::async_handle, kmp_tasking_flags::complete, copy_icvs(), kmp_taskgroup::count, kmp_tasking_flags::detachable, ompt_callbacks_active_s::enabled, kmp_tasking_flags::executing, FALSE, kmp_tasking_flags::final, kmp_tasking_flags::freed, kmp_tasking_flags::hidden_helper, KA_TRACE, KMP_ATOMIC_INC, KMP_ATOMIC_ST_RLX, KMP_CHECK_UPDATE, KMP_DEBUG_ASSERT, KMP_EVENT_UNINITIALIZED, KMP_GEN_TASK_ID, KMP_GTID_TO_SHADOW_GTID, KMP_TASKDATA_TO_TASK, KMP_TASKING_ENABLED, kmp_tasking_flags::merged_if0, ompt_enabled, task::part_id, kmp_tasking_flags::proxy, task::routine, task::shareds, kmp_tasking_flags::started, kmp_team::t, TASK_DETACHABLE, task_entry(), TASK_EXPLICIT, TASK_FULL, TASK_PROXY, kmp_tasking_flags::task_serial, TASK_UNTIED, kmp_tasking_flags::tasking_ser, kmp_tasking_flags::tasktype, TCR_4, TCW_4, kmp_taskdata::td_alloc_thread, kmp_taskdata::td_allocated_child_tasks, kmp_taskdata::td_allow_completion_event, kmp_taskdata::td_dephash, kmp_taskdata::td_depnode, kmp_taskdata::td_flags, kmp_taskdata::td_icvs, kmp_taskdata::td_ident, kmp_taskdata::td_incomplete_child_tasks, kmp_taskdata::td_last_tied, kmp_taskdata::td_level, kmp_taskdata::td_parent, kmp_taskdata::td_size_alloc, kmp_taskdata::td_target_data, kmp_taskdata::td_task_id, kmp_taskdata::td_task_team, kmp_taskdata::td_taskgroup, kmp_taskdata::td_taskwait_counter, kmp_taskdata::td_taskwait_ident, kmp_taskdata::td_taskwait_thread, kmp_taskdata::td_team, kmp_taskdata::td_untied_count, kmp_tasking_flags::team_serial, kmp_tasking_flags::tiedness, TRUE, tskm_immediate_exec, kmp_task_team::tt, kmp_base_task_team::tt_found_proxy_tasks, kmp_base_task_team::tt_hidden_helper_task_encountered, kmp_base_task_team::tt_threads_data, kmp_event_t::type, and UNLIKELY.
Referenced by __GOMP_taskloop(), and __kmpc_omp_task_alloc().
kmp_task_t * __kmp_task_dup_alloc | ( | kmp_info_t * | thread, |
kmp_task_t * | task_src | ||
) |
Definition at line 4667 of file kmp_tasking.cpp.
References __kmp_thread_malloc, kmp_taskgroup::count, ompt_callbacks_active_s::enabled, KA_TRACE, KMP_ATOMIC_INC, KMP_DEBUG_ASSERT, KMP_GEN_TASK_ID, KMP_MEMCPY, KMP_TASK_TO_TASKDATA, KMP_TASKDATA_TO_TASK, ompt_enabled, kmp_tasking_flags::proxy, task::shareds, TASK_EXPLICIT, TASK_FULL, TASK_TIED, kmp_tasking_flags::tasking_ser, kmp_tasking_flags::tasktype, kmp_taskdata::td_alloc_thread, kmp_taskdata::td_allocated_child_tasks, kmp_taskdata::td_flags, kmp_taskdata::td_incomplete_child_tasks, kmp_taskdata::td_last_tied, kmp_taskdata::td_parent, kmp_taskdata::td_size_alloc, kmp_taskdata::td_task_id, kmp_taskdata::td_taskgroup, kmp_tasking_flags::team_serial, kmp_tasking_flags::tiedness, and UNLIKELY.
Referenced by __kmp_taskloop_linear(), and __kmp_taskloop_recur().
|
static |
Definition at line 1037 of file kmp_tasking.cpp.
References __kmp_acquire_tas_lock(), __kmp_free_task_and_ancestors(), __kmp_hidden_helper_worker_thread_signal(), __kmp_release_deps(), __kmp_release_tas_lock(), __kmp_threads, __kmp_tid_from_gtid(), __kmp_track_children_task(), __kmp_unexecuted_hidden_helper_tasks, __kmpc_give_task(), kmp_target_data::async_handle, kmp_tasking_flags::complete, kmp_taskgroup::count, counter, kmp_tasking_flags::destructors_thunk, kmp_tasking_flags::detachable, kmp_tasking_flags::executing, kmp_tasking_flags::freed, kmp_tasking_flags::hidden_helper, KA_TRACE, KMP_ASSERT, KMP_ATOMIC_DEC, KMP_DEBUG_ASSERT, KMP_EVENT_ALLOW_COMPLETION, KMP_HIDDEN_HELPER_THREAD, KMP_TASK_TO_TASKDATA, kmp_event_t::lock, kmp_tasking_flags::proxy, kmp_tasking_flags::started, TASK_DETACHABLE, TASK_EXPLICIT, TASK_PROXY, kmp_tasking_flags::task_serial, TASK_TIED, TASK_UNTIED, kmp_tasking_flags::tasking_ser, kmp_tasking_flags::tasktype, kmp_taskdata::td_allow_completion_event, kmp_taskdata::td_flags, kmp_taskdata::td_incomplete_child_tasks, kmp_taskdata::td_parent, kmp_taskdata::td_target_data, kmp_taskdata::td_taskgroup, kmp_taskdata::td_untied_count, kmp_tasking_flags::tiedness, kmp_task_team::tt, kmp_base_task_team::tt_found_proxy_tasks, kmp_base_task_team::tt_hidden_helper_task_encountered, kmp_event_t::type, and UNLIKELY.
|
static |
Definition at line 263 of file kmp_tasking.cpp.
References __kmp_release_lock(), __kmp_test_lock(), kmp_depnode::dn, i, j, KMP_DEBUG_ASSERT, level, kmp_base_depnode::mtx_locks, kmp_base_depnode::mtx_num_locks, parent, TASK_EXPLICIT, TASK_TIED, kmp_tasking_flags::tasktype, kmp_taskdata::td_depnode, kmp_taskdata::td_flags, kmp_taskdata::td_last_tied, kmp_taskdata::td_level, kmp_taskdata::td_parent, kmp_taskdata::td_taskwait_thread, kmp_tasking_flags::tiedness, and UNLIKELY.
Referenced by __kmp_get_priority_task(), __kmp_push_priority_task(), __kmp_push_task(), __kmp_remove_my_task(), and __kmp_steal_task().
|
static |
Definition at line 2777 of file kmp_tasking.cpp.
References __kmp_thread_free, kmp_taskgroup::reduce_data, and kmp_taskgroup::reduce_num_data.
Referenced by __kmpc_end_taskgroup().
|
static |
Definition at line 2734 of file kmp_tasking.cpp.
References __kmp_enable_hidden_helper, __kmp_free, __kmp_thread_free, arr, i, j, KMP_DEBUG_ASSERT, kmp_taskgroup::reduce_data, kmp_taskgroup::reduce_num_data, size, and void.
Referenced by __kmpc_end_taskgroup().
Definition at line 2525 of file kmp_tasking.cpp.
References __kmp_allocate, __kmp_assert_valid_gtid(), __kmp_enable_hidden_helper, __kmp_thread_malloc, __kmp_threads, arr, CACHE_LINE, data, i, j, KA_TRACE, KMP_ASSERT, kmp_taskgroup::reduce_data, kmp_taskgroup::reduce_num_data, and size.
Referenced by __kmpc_task_reduction_init(), and __kmpc_taskred_init().
void __kmp_task_reduction_init_copy | ( | kmp_info_t * | thr, |
int | num, | ||
T * | data, | ||
kmp_taskgroup_t * | tg, | ||
void * | reduce_data | ||
) |
Definition at line 2637 of file kmp_tasking.cpp.
References __kmp_thread_malloc, arr, data, i, KA_TRACE, KMP_MEMCPY, kmp_taskgroup::reduce_data, and kmp_taskgroup::reduce_num_data.
void * __kmp_task_reduction_modifier_init | ( | ident_t * | loc, |
int | gtid, | ||
int | is_ws, | ||
int | num, | ||
T * | data | ||
) |
Definition at line 2784 of file kmp_tasking.cpp.
References __kmp_assert_valid_gtid(), __kmp_atomic_compare_store(), __kmp_thread_malloc, __kmp_threads, __kmpc_taskgroup(), data, KA_TRACE, KMP_ATOMIC_LD_ACQ, KMP_ATOMIC_LD_RLX, KMP_ATOMIC_ST_REL, KMP_CPU_PAUSE, KMP_DEBUG_ASSERT, KMP_MEMCPY, loc, kmp_taskgroup::reduce_data, and kmp_team::t.
Referenced by __kmpc_task_reduction_modifier_init(), and __kmpc_taskred_modifier_init().
|
static |
Definition at line 670 of file kmp_tasking.cpp.
References __kmp_threads, kmp_tasking_flags::complete, kmp_tasking_flags::executing, kmp_tasking_flags::freed, KA_TRACE, KMP_DEBUG_ASSERT, KMP_TASK_TO_TASKDATA, kmp_tasking_flags::started, TASK_EXPLICIT, TASK_TIED, TASK_UNTIED, kmp_tasking_flags::tasktype, kmp_taskdata::td_flags, and kmp_tasking_flags::tiedness.
Referenced by __kmp_invoke_task(), __kmp_taskloop(), __kmp_taskloop_linear(), and __kmpc_omp_task_begin_if0_template().
|
inlinestatic |
Definition at line 3953 of file kmp_tasking.cpp.
References FALSE, KMP_ATOMIC_ST_REL, kmp_team::t, TCW_4, TRUE, kmp_task_team::tt, kmp_base_task_team::tt_active, kmp_base_task_team::tt_found_proxy_tasks, kmp_base_task_team::tt_found_tasks, kmp_base_task_team::tt_hidden_helper_task_encountered, kmp_base_task_team::tt_nproc, and kmp_base_task_team::tt_unfinished_threads.
Referenced by __kmp_allocate_task_team(), and __kmp_task_team_setup().
void __kmp_task_team_setup | ( | kmp_info_t * | this_thr, |
kmp_team_t * | team | ||
) |
Definition at line 4169 of file kmp_tasking.cpp.
References __kmp_alloc_task_deque(), __kmp_allocate_task_team(), __kmp_enable_tasking(), __kmp_gtid_from_thread(), __kmp_hidden_helper_main_thread, __kmp_hidden_helper_threads, __kmp_task_team_init(), __kmp_tasking_mode, i, j, KA_TRACE, KMP_DEBUG_ASSERT, KMP_TASKING_ENABLED, kmp_team::t, tskm_immediate_exec, kmp_task_team::tt, kmp_base_task_team::tt_nproc, and kmp_base_task_team::tt_threads_data.
Referenced by __kmp_barrier_template(), __kmp_fork_barrier(), and __kmp_task_alloc().
void __kmp_task_team_sync | ( | kmp_info_t * | this_thr, |
kmp_team_t * | team | ||
) |
Definition at line 4254 of file kmp_tasking.cpp.
References __kmp_gtid_from_thread(), __kmp_tasking_mode, KA_TRACE, KMP_DEBUG_ASSERT, kmp_team::t, TCW_PTR, and tskm_immediate_exec.
Referenced by __kmp_barrier_template(), __kmp_end_split_barrier(), and __kmp_fork_barrier().
void __kmp_task_team_wait | ( | kmp_info_t * | this_thr, |
kmp_team_t *team | USE_ITT_BUILD_ARGvoid *itt_sync_obj, | ||
int | wait | ||
) |
Definition at line 4280 of file kmp_tasking.cpp.
References __kmp_gtid_from_thread(), __kmp_tasking_mode, FALSE, flag, KA_TRACE, KMP_CHECK_UPDATE, KMP_DEBUG_ASSERT, KMP_MB, KMP_TASKING_ENABLED, RCAST, TCW_PTR, TCW_SYNC_4, TRUE, tskm_immediate_exec, kmp_task_team::tt, kmp_base_task_team::tt_active, kmp_base_task_team::tt_found_proxy_tasks, kmp_base_task_team::tt_hidden_helper_task_encountered, kmp_base_task_team::tt_unfinished_threads, kmp_base_task_team::tt_untied_task_encountered, and USE_ITT_BUILD_ARG.
void __kmp_tasking_barrier | ( | kmp_team_t * | team, |
kmp_info_t * | thread, | ||
int | gtid | ||
) |
Definition at line 4324 of file kmp_tasking.cpp.
References __kmp_abort_thread(), __kmp_global, __kmp_tasking_mode, kmp_flag_32< Cancellable, Sleepable >::execute_tasks(), FALSE, flag, KMP_DEBUG_ASSERT, KMP_FSYNC_SPIN_ACQUIRED, KMP_FSYNC_SPIN_INIT, KMP_FSYNC_SPIN_PREPARE, KMP_YIELD, RCAST, kmp_team::t, TCR_4, TRUE, tskm_extra_barrier, and USE_ITT_BUILD_ARG.
Referenced by __kmp_barrier_template(), and __kmp_join_barrier().
|
static |
Definition at line 5207 of file kmp_tasking.cpp.
References __kmp_task_start(), __kmp_taskloop_linear(), __kmp_taskloop_min_tasks, __kmp_taskloop_recur(), __kmp_threads, __kmpc_end_taskgroup(), __kmpc_taskgroup(), __ompt_get_task_info_object(), __ompt_get_teaminfo(), kmp_taskloop_bounds_t::get_lb(), kmp_taskloop_bounds_t::get_ub(), INITIAL_TASK_DEQUE_SIZE, KA_TRACE, KMP_ASSERT2, KMP_ATOMIC_DEC, KMP_DEBUG_ASSERT, KMP_FALLTHROUGH, KMP_MIN, KMP_TASK_TO_TASKDATA, loc, kmp_tasking_flags::native, ompt_callbacks, ompt_enabled, OMPT_GET_RETURN_ADDRESS, ompt_team_info_t::parallel_data, ompt_task_info_t::task_data, kmp_tasking_flags::task_serial, TASK_TIED, kmp_taskdata::td_flags, and kmp_tasking_flags::tiedness.
Referenced by __kmpc_taskloop(), and __kmpc_taskloop_5().
void __kmp_taskloop_linear | ( | ident_t * | loc, |
int | gtid, | ||
kmp_task_t * | task, | ||
kmp_uint64 * | lb, | ||
kmp_uint64 * | ub, | ||
kmp_int64 | st, | ||
kmp_uint64 | ub_glob, | ||
kmp_uint64 | num_tasks, | ||
kmp_uint64 | grainsize, | ||
kmp_uint64 | extras, | ||
kmp_int64 | last_chunk, | ||
kmp_uint64 | tc, | ||
void * | task_dup | ||
) |
Definition at line 4874 of file kmp_tasking.cpp.
References __kmp_omp_task(), __kmp_omp_taskloop_task(), __kmp_task_dup_alloc(), __kmp_task_start(), __kmp_threads, kmp_taskloop_bounds_t::get_lb(), kmp_taskloop_bounds_t::get_lower_offset(), kmp_taskloop_bounds_t::get_ub(), kmp_taskloop_bounds_t::get_upper_offset(), i, KA_TRACE, KMP_COUNT_BLOCK, KMP_DEBUG_ASSERT, KMP_TASK_TO_TASKDATA, KMP_TIME_PARTITIONED_BLOCK, kmp_tasking_flags::native, ompt_enabled, kmp_taskloop_bounds_t::set_lb(), kmp_taskloop_bounds_t::set_ub(), and kmp_taskdata::td_flags.
Referenced by __kmp_taskloop(), __kmp_taskloop_recur(), and __kmp_taskloop_task().
void __kmp_taskloop_recur | ( | ident_t * | loc, |
int | gtid, | ||
kmp_task_t * | task, | ||
kmp_uint64 * | lb, | ||
kmp_uint64 * | ub, | ||
kmp_int64 | st, | ||
kmp_uint64 | ub_glob, | ||
kmp_uint64 | num_tasks, | ||
kmp_uint64 | grainsize, | ||
kmp_uint64 | extras, | ||
kmp_int64 | last_chunk, | ||
kmp_uint64 | tc, | ||
kmp_uint64 | num_t_min, | ||
void * | task_dup | ||
) |
Definition at line 5077 of file kmp_tasking.cpp.
References __kmp_omp_task(), __kmp_omp_taskloop_task(), __kmp_task_dup_alloc(), __kmp_taskloop_linear(), __kmp_taskloop_recur(), __kmp_taskloop_task(), __kmp_threads, __kmpc_omp_task_alloc(), KA_TRACE, KMP_DEBUG_ASSERT, KMP_TASK_TO_TASKDATA, loc, p, kmp_task::shareds, and kmp_taskdata::td_parent.
Referenced by __kmp_taskloop(), __kmp_taskloop_recur(), and __kmp_taskloop_task().
Definition at line 5011 of file kmp_tasking.cpp.
References __kmp_taskloop_linear(), __kmp_taskloop_recur(), KA_TRACE, KMP_DEBUG_ASSERT, KMP_TASK_TO_TASKDATA, and p.
Referenced by __kmp_task_alloc(), and __kmp_taskloop_recur().
|
static |
Definition at line 1013 of file kmp_tasking.cpp.
References kmp_taskgroup::count, kmp_tasking_flags::detachable, kmp_tasking_flags::hidden_helper, KMP_ATOMIC_LD_ACQ, kmp_tasking_flags::proxy, ret, TASK_DETACHABLE, TASK_PROXY, kmp_tasking_flags::tasking_ser, kmp_taskdata::td_flags, kmp_taskdata::td_incomplete_child_tasks, kmp_taskdata::td_parent, kmp_taskdata::td_taskgroup, and kmp_tasking_flags::team_serial.
Referenced by __kmp_task_alloc(), and __kmp_task_finish().
Definition at line 4106 of file kmp_tasking.cpp.
References __kmp_dflt_blocktime, __kmp_gtid_from_thread(), __kmp_is_thread_alive(), __kmp_null_resume_wrapper(), __kmp_thread_pool, CCAST, FALSE, KA_TRACE, KMP_INIT_BACKOFF, KMP_INIT_YIELD, KMP_MAX_BLOCKTIME, KMP_YIELD_OVERSUB_ELSE_SPIN, TCR_PTR, and TRUE.
Referenced by __kmp_reset_root().
Definition at line 2915 of file kmp_tasking.cpp.
References __kmp_assert_valid_gtid(), __kmp_task_reduction_clean(), __kmp_task_reduction_fini(), __kmp_task_stealing_constraint, __kmp_tasking_mode, __kmp_thread_free, __kmp_threads, arr, kmp_taskgroup::count, ompt_callbacks_active_s::enabled, FALSE, flag, kmp_taskgroup::gomp_data, if(), KA_TRACE, KMP_ATOMIC_INC, KMP_ATOMIC_LD_ACQ, KMP_ATOMIC_ST_REL, KMP_DEBUG_ASSERT, KMP_FSYNC_ACQUIRED, KMP_SET_THREAD_STATE_BLOCK, loc, ompt_callbacks, ompt_enabled, OMPT_GET_RETURN_ADDRESS, kmp_taskgroup::parent, RCAST, kmp_taskgroup::reduce_data, kmp_team::t, kmp_taskdata::td_flags, kmp_taskdata::td_taskgroup, kmp_taskdata::td_taskwait_counter, kmp_taskdata::td_taskwait_ident, kmp_taskdata::td_taskwait_thread, kmp_tasking_flags::team_serial, tskm_immediate_exec, UNLIKELY, and USE_ITT_BUILD_ARG.
Referenced by __GOMP_taskloop(), __kmp_GOMP_par_reductions_microtask_wrapper(), __kmp_taskloop(), __kmpc_task_reduction_modifier_fini(), KMP_API_NAME_GOMP_WORKSHARE_TASK_REDUCTION_UNREGISTER(), and main().
void __kmpc_give_task | ( | kmp_task_t * | ptask, |
kmp_int32 | start = 0 |
||
) |
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().
kmp_task_t * __kmpc_omp_target_task_alloc | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_int32 | flags, | ||
size_t | sizeof_kmp_task_t, | ||
size_t | sizeof_shareds, | ||
kmp_routine_entry_t | task_entry, | ||
kmp_int64 | device_id | ||
) |
Definition at line 1709 of file kmp_tasking.cpp.
References __kmp_enable_hidden_helper, __kmpc_omp_task_alloc(), task_entry(), TASK_UNTIED, kmp_tasking_flags::tiedness, and TRUE.
Referenced by main().
kmp_int32 __kmpc_omp_task | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_task_t * | new_task | ||
) |
Definition at line 2119 of file kmp_tasking.cpp.
References __kmp_assert_valid_gtid(), __kmp_omp_task(), ompt_callbacks_active_s::enabled, KA_TRACE, KMP_SET_THREAD_STATE_BLOCK, KMP_TASK_TO_TASKDATA, ompt_callbacks, ompt_enabled, OMPT_GET_FRAME_ADDRESS, parent, res, kmp_tasking_flags::started, TASK_TYPE_DETAILS_FORMAT, kmp_taskdata::td_flags, kmp_taskdata::td_parent, and UNLIKELY.
Referenced by main().
kmp_task_t * __kmpc_omp_task_alloc | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_int32 | flags, | ||
size_t | sizeof_kmp_task_t, | ||
size_t | sizeof_shareds, | ||
kmp_routine_entry_t | task_entry | ||
) |
Definition at line 1685 of file kmp_tasking.cpp.
References __kmp_assert_valid_gtid(), __kmp_task_alloc(), kmp_tasking_flags::detachable, FALSE, KA_TRACE, kmp_tasking_flags::native, kmp_tasking_flags::proxy, task_entry(), and kmp_tasking_flags::tiedness.
Referenced by __kmp_taskloop_recur(), __kmpc_omp_target_task_alloc(), and main().
void __kmpc_omp_task_begin_if0 | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_task_t * | task | ||
) |
Definition at line 849 of file kmp_tasking.cpp.
References ompt_callbacks_active_s::enabled, ompt_enabled, OMPT_GET_FRAME_ADDRESS, and UNLIKELY.
|
static |
Definition at line 775 of file kmp_tasking.cpp.
References __kmp_task_start(), __kmp_threads, counter, ompt_task_info_t::frame, KA_TRACE, KMP_ATOMIC_INC, KMP_DEBUG_USE_VAR, KMP_TASK_TO_TASKDATA, ompt_callbacks, ompt_enabled, ompt_task_info_t::task_data, kmp_tasking_flags::task_serial, TASK_TYPE_DETAILS_FORMAT, TASK_UNTIED, kmp_taskdata::td_flags, kmp_taskdata::td_untied_count, kmp_tasking_flags::tiedness, and UNLIKELY.
void __kmpc_omp_task_complete_if0 | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_task_t * | task | ||
) |
Definition at line 1292 of file kmp_tasking.cpp.
References ompt_callbacks_active_s::enabled, ompt_enabled, and UNLIKELY.
|
static |
Definition at line 1254 of file kmp_tasking.cpp.
References __ompt_get_task_info_internal(), KA_TRACE, KMP_DEBUG_ASSERT, and KMP_TASK_TO_TASKDATA.
kmp_int32 __kmpc_omp_task_parts | ( | ident_t * | loc_ref, |
kmp_int32 | gtid, | ||
kmp_task_t * | new_task | ||
) |
Definition at line 1973 of file kmp_tasking.cpp.
References __kmp_invoke_task(), __kmp_push_task(), __kmp_threads, ompt_callbacks_active_s::enabled, KA_TRACE, KMP_TASK_TO_TASKDATA, ompt_callbacks, ompt_enabled, OMPT_GET_RETURN_ADDRESS, parent, TASK_CURRENT_NOT_QUEUED, TASK_NOT_PUSHED, kmp_tasking_flags::task_serial, TASK_TYPE_DETAILS_FORMAT, kmp_taskdata::td_flags, kmp_taskdata::td_parent, and UNLIKELY.
Definition at line 2348 of file kmp_tasking.cpp.
References ompt_callbacks_active_s::enabled, ompt_enabled, OMPT_GET_FRAME_ADDRESS, and UNLIKELY.
Referenced by main().
|
static |
Definition at line 2226 of file kmp_tasking.cpp.
References __kmp_enable_hidden_helper, __kmp_task_stealing_constraint, __kmp_tasking_mode, __kmp_threads, FALSE, kmp_tasking_flags::final, flag, KA_TRACE, KMP_ATOMIC_LD_ACQ, KMP_DEBUG_ASSERT, KMP_FSYNC_ACQUIRED, KMP_SET_THREAD_STATE_BLOCK, ompt_callbacks, ompt_enabled, RCAST, TASK_CURRENT_NOT_QUEUED, kmp_taskdata::td_flags, kmp_taskdata::td_incomplete_child_tasks, kmp_taskdata::td_taskwait_counter, kmp_taskdata::td_taskwait_ident, kmp_taskdata::td_taskwait_thread, kmp_tasking_flags::team_serial, tskm_immediate_exec, and USE_ITT_BUILD_ARG.
Definition at line 2360 of file kmp_tasking.cpp.
References __kmp_assert_valid_gtid(), __kmp_execute_tasks_32(), __kmp_init_parallel, __kmp_task_stealing_constraint, __kmp_tasking_mode, __kmp_threads, ompt_callbacks_active_s::enabled, FALSE, KA_TRACE, KMP_COUNT_BLOCK, KMP_SET_THREAD_STATE_BLOCK, KMP_TASKING_ENABLED, ompt_enabled, TASK_CURRENT_NOT_QUEUED, kmp_taskdata::td_flags, kmp_taskdata::td_taskwait_counter, kmp_taskdata::td_taskwait_ident, kmp_taskdata::td_taskwait_thread, kmp_tasking_flags::team_serial, tskm_immediate_exec, UNLIKELY, and USE_ITT_BUILD_ARG.
kmp_event_t * __kmpc_task_allow_completion_event | ( | ident_t * | loc_ref, |
int | gtid, | ||
kmp_task_t * | task | ||
) |
Definition at line 4601 of file kmp_tasking.cpp.
References __kmp_init_tas_lock(), kmp_event_t::ed, KMP_EVENT_ALLOW_COMPLETION, KMP_EVENT_UNINITIALIZED, KMP_TASK_TO_TASKDATA, kmp_event_t::lock, kmp_event_t::task, kmp_taskdata::td_allow_completion_event, and kmp_event_t::type.
Referenced by main().
Definition at line 2881 of file kmp_tasking.cpp.
References __kmp_assert_valid_gtid(), __kmp_thread_malloc, __kmp_threads, cancel_noreq, kmp_taskgroup::cancel_request, kmp_taskgroup::count, kmp_taskgroup::gomp_data, KA_TRACE, KMP_ATOMIC_ST_RLX, loc, ompt_callbacks, ompt_enabled, OMPT_GET_RETURN_ADDRESS, kmp_taskgroup::parent, kmp_taskgroup::reduce_data, kmp_taskgroup::reduce_num_data, kmp_team::t, kmp_taskdata::td_taskgroup, and UNLIKELY.
Referenced by __GOMP_taskloop(), __kmp_GOMP_init_reductions(), __kmp_task_reduction_modifier_init(), __kmp_taskloop(), and main().
KMP_BUILD_ASSERT | ( | sizeof(long) | = =4||sizeof(long)==8 | ) |
|
static |
Definition at line 3756 of file kmp_tasking.cpp.
Referenced by __kmp_allocate_task_team(), __kmp_free_task_team(), and __kmp_reap_task_teams().
kmp_bootstrap_lock_t __kmp_task_team_lock |
Definition at line 3759 of file kmp_tasking.cpp.
Referenced by __kmp_allocate_task_team(), __kmp_atfork_child(), __kmp_free_task_team(), and __kmp_reap_task_teams().