ARGOBOTS
dce6e727ffc4ca5b3ffc04cb9517c6689be51ec5
|
Go to the documentation of this file.
18 .get_migr_pool = NULL,
60 p_data->event_freq = event_freq;
66 p_data->num_pools = num_pools;
73 memcpy(p_data->pools, p_sched->
pools,
sizeof(
ABT_pool) * num_pools);
81 p_sched->
data = p_data;
90 uint32_t work_count = 0;
104 pools = p_data->
pools;
110 for (i = 0; i < num_pools; i++) {
126 if (!run_cnt_nowait) {
150 if (!run_cnt_nowait || (++work_count >= event_freq)) {
198 int p1_access, p2_access;
203 if (p1_access > p2_access) {
205 }
else if (p1_access < p2_access) {
#define ABTI_CHECK_NULL_SCHED_PTR(p)
static ABTI_sched * ABTI_sched_get_ptr(ABT_sched sched)
ABT_bool ABTI_sched_has_to_stop(ABTI_sched *p_sched)
ABT_sched_type type
Unused value.
struct ABT_thread_opaque * ABT_thread
Work unit handle type.
#define ABT_POOL_CONTEXT_OP_POOL_OTHER
A flag that hints an unspecified pool operation.
static ABTI_global * ABTI_global_get_global(void)
static void sched_run(ABT_sched sched)
static int sched_init(ABT_sched sched, ABT_sched_config config)
#define ABTI_CHECK_ERROR(abt_errno)
struct ABT_sched_config_opaque * ABT_sched_config
Scheduler configuration handle type.
static sched_data * sched_data_get_ptr(void *data)
static int pool_get_access_num(ABT_pool *p_pool)
#define ABTI_IS_ERROR_CHECK_ENABLED
struct ABT_pool_opaque * ABT_pool
Pool handle type.
static ABT_thread ABTI_pool_pop(ABTI_pool *p_pool, ABT_pool_context context)
#define ABTU_unreachable()
ABT_pool_pop_timedwait_fn p_pop_timedwait
struct ABT_sched_opaque * ABT_sched
Scheduler handle type.
static int sched_free(ABT_sched)
static ABT_sched_def sched_basic_wait_def
static ABT_thread ABTI_pool_pop_wait(ABTI_pool *p_pool, double time_secs, ABT_pool_context context)
static ABTU_ret_err int ABTU_malloc(size_t size, void **p_ptr)
uint32_t sched_event_freq
ABT_pool_user_pop_wait_fn p_pop_wait
ABTU_ret_err int ABTI_sched_config_read(const ABTI_sched_config *p_config, int idx, void *p_val)
#define ABTI_ASSERT(cond)
static ABTI_local * ABTI_local_get_local(void)
#define ABT_SUCCESS
Error code: the routine returns successfully.
void ABTI_xstream_check_events(ABTI_xstream *p_xstream, ABTI_sched *p_sched)
static void ABTI_ythread_schedule(ABTI_global *p_global, ABTI_xstream **pp_local_xstream, ABTI_thread *p_thread)
ABTI_pool_deprecated_def deprecated_def
#define ABT_TRUE
True constant for ABT_bool.
ABT_thread ABTI_pool_pop_timedwait(ABTI_pool *p_pool, double abstime_secs)
static ABTI_pool * ABTI_pool_get_ptr(ABT_pool pool)
static int sched_cmp_pools(const void *p1, const void *p2)
static void ABTU_free(void *ptr)
A struct that defines a scheduler.
ABT_sched_def * ABTI_sched_get_basic_wait_def(void)
ABTI_pool_optional_def optional_def
ABT_sched_config_var ABT_sched_basic_freq
Predefined ABT_sched_config_var to configure the frequency for checking events of the basic scheduler...
static ABTI_xstream * ABTI_local_get_xstream(ABTI_local *p_local)
static void sched_sort_pools(int num_pools, ABT_pool *pools)
static ABTI_thread * ABTI_thread_get_ptr(ABT_thread thread)
static double ABTI_get_wtime(void)
static ABTI_sched_config * ABTI_sched_config_get_ptr(ABT_sched_config config)
ABT_pool_access
Pool access type.