Go to the documentation of this file.
70 *rank = (int)p_local_xstream->
rank;
132 #ifdef ABT_CONFIG_USE_DOXYGEN
142 #ifdef ABT_CONFIG_USE_DOXYGEN
193 &p_local_xstream->p_thread->p_keytable, p_key, value);
236 *value =
ABTI_ktable_get(&p_local_xstream->p_thread->p_keytable, p_key);
276 #ifndef ABT_CONFIG_ENABLE_VER_20_API
286 if (p_local_xstream) {
333 #ifndef ABT_CONFIG_ENABLE_VER_20_API
344 if (p_local_xstream) {
393 #ifndef ABT_CONFIG_ENABLE_VER_20_API
404 if (p_local_xstream) {
477 #ifndef ABT_CONFIG_ENABLE_VER_20_API
558 *unit = p_local_xstream->p_thread->unit;
699 #ifndef ABT_CONFIG_ENABLE_VER_20_API
704 p_local_xstream->p_thread->p_arg = arg;
740 #ifndef ABT_CONFIG_ENABLE_VER_20_API
746 *arg = p_local_xstream->p_thread->p_arg;
776 *thread_func = p_local_xstream->p_thread->f_thread;
struct ABT_key_opaque * ABT_key
Work-unit-specific data key handle type.
#define ABT_ERR_INV_THREAD
Error code: invalid work unit.
int ABT_bool
Boolean type.
@ ABTI_XSTREAM_TYPE_PRIMARY
#define ABTI_SETUP_LOCAL_XSTREAM(pp_local_xstream)
static void * ABTI_ktable_get(ABTD_atomic_ptr *pp_ktable, ABTI_key *p_key)
int ABT_self_get_arg(void **arg)
Retrieve an argument for a work-unit function of the calling work unit.
struct ABT_thread_opaque * ABT_thread
Work unit handle type.
static ABTI_key * ABTI_key_get_ptr(ABT_key key)
#define ABTI_SETUP_GLOBAL(pp_global)
int ABT_self_get_thread_func(void(**thread_func)(void *))
Retrieve a work-unit function of the calling work unit.
static ABTI_global * ABTI_global_get_global(void)
#define ABTI_CHECK_ERROR(abt_errno)
ABT_unit_id ABTI_thread_get_id(ABTI_thread *p_thread)
static ABT_thread ABTI_thread_get_handle(ABTI_thread *p_thread)
static ABTU_ret_err int ABTI_thread_set_associated_pool(ABTI_global *p_global, ABTI_thread *p_thread, ABTI_pool *p_pool)
int ABT_self_get_thread(ABT_thread *thread)
Get the calling work unit.
int ABT_self_get_last_pool(ABT_pool *pool)
Get the last pool of the calling work unit.
int ABT_self_set_specific(ABT_key key, void *value)
Associate a value with a work-unit-specific data key in the calling work unit.
int ABT_self_get_task(ABT_thread *thread)
Get the calling work unit.
struct ABT_pool_opaque * ABT_pool
Pool handle type.
static ABTU_ret_err int ABTI_ktable_set(ABTI_global *p_global, ABTI_local *p_local, ABTD_atomic_ptr *pp_ktable, ABTI_key *p_key, void *value)
static ABT_unit_type ABTI_thread_type_get_type(ABTI_thread_type type)
#define ABTI_THREAD_TYPE_PRIMARY
static ABT_xstream ABTI_xstream_get_handle(ABTI_xstream *p_xstream)
ABTU_noreturn void ABTI_ythread_exit(ABTI_xstream *p_local_xstream, ABTI_ythread *p_ythread)
int ABT_self_on_primary_xstream(ABT_bool *on_primary)
Check if the caller is running on the primary execution stream.
uint64_t ABT_unit_id
Work unit ID type.
struct ABT_xstream_opaque * ABT_xstream
Execution stream handle type.
int ABT_self_suspend(void)
Suspend the calling ULT.
ABT_unit_type
Type of a work unit for scheduling.
int ABT_self_set_associated_pool(ABT_pool pool)
Set an associated pool for the calling work unit.
int ABT_self_get_last_pool_id(int *pool_id)
Get ID of the last pool of the calling work unit.
int ABT_self_is_primary(ABT_bool *is_primary)
Check if the caller is the primary ULT.
struct ABT_unit_opaque * ABT_unit
Work unit handle type for scheduling.
#define ABTI_ASSERT(cond)
static ABTI_local * ABTI_local_get_local(void)
int ABT_self_exit(void)
Terminate a calling ULT.
#define ABT_SUCCESS
Error code: the routine returns successfully.
#define ABTI_SETUP_LOCAL_YTHREAD(pp_local_xstream, pp_ythread)
void ABTI_ythread_set_blocked(ABTI_ythread *p_ythread)
static ABTI_xstream * ABTI_local_get_xstream_or_null(ABTI_local *p_local)
int ABT_self_get_specific(ABT_key key, void **value)
Get a value associated with a work-unit-specific data key in the calling work unit.
static ABTI_local * ABTI_xstream_get_local(ABTI_xstream *p_xstream)
int ABT_self_set_arg(void *arg)
Set an argument for a work-unit function of the calling work unit.
#define ABT_TRUE
True constant for ABT_bool.
static ABTI_pool * ABTI_pool_get_ptr(ABT_pool pool)
#define ABT_FALSE
False constant for ABT_bool.
int ABT_self_get_task_id(ABT_unit_id *id)
Get ID of the calling work unit.
void ABTI_ythread_suspend(ABTI_xstream **pp_local_xstream, ABTI_ythread *p_ythread, ABT_sync_event_type sync_event_type, void *p_sync)
#define ABTI_CHECK_NULL_POOL_PTR(p)
#define ABTI_THREAD_TYPE_NAMED
int ABT_self_yield(void)
Yield the calling ULT to its parent ULT.
int ABT_self_get_xstream_rank(int *rank)
Return a rank of an execution stream that is running the calling work unit.
static void ABTI_ythread_yield(ABTI_xstream **pp_local_xstream, ABTI_ythread *p_ythread, ABT_sync_event_type sync_event_type, void *p_sync)
int ABT_self_get_unit(ABT_unit *unit)
Get a unit handle of the calling work unit.
#define ABTI_CHECK_TRUE(cond, abt_errno)
int ABT_self_get_type(ABT_unit_type *type)
Obtain a type of the caller.
#define ABTI_CHECK_NULL_KEY_PTR(p)
int ABT_self_is_unnamed(ABT_bool *is_unnamed)
Check if the calling work unit is unnamed.
static ABT_pool ABTI_pool_get_handle(ABTI_pool *p_pool)
int ABT_self_get_xstream(ABT_xstream *xstream)
Get an execution stream that is running the calling work unit.
int ABT_self_get_thread_id(ABT_unit_id *id)
Get ID of the calling work unit.