Go to the documentation of this file.
47 #ifndef ABT_CONFIG_ENABLE_VER_20_API
59 p_newbarrier->num_waiters = num_waiters;
60 #ifdef HAVE_PTHREAD_BARRIER_INIT
61 abt_errno = ABTD_xstream_barrier_init(num_waiters, &p_newbarrier->bar);
68 p_newbarrier->counter = 0;
107 #ifdef HAVE_PTHREAD_BARRIER_INIT
108 ABTD_xstream_barrier_destroy(&p_barrier->bar);
146 #ifdef HAVE_PTHREAD_BARRIER_INIT
147 ABTD_xstream_barrier_wait(&p_barrier->bar);
160 uint64_t new_tag = (cur_tag + 1) & (UINT64_MAX >> 1);
static uint64_t ABTD_atomic_relaxed_load_uint64(const ABTD_atomic_uint64 *ptr)
int ABT_xstream_barrier_free(ABT_xstream_barrier *barrier)
Free an execution-stream barrier.
static void ABTD_atomic_relaxed_store_uint64(ABTD_atomic_uint64 *ptr, uint64_t val)
static ABTI_xstream_barrier * ABTI_xstream_barrier_get_ptr(ABT_xstream_barrier barrier)
#define ABTI_CHECK_ERROR(abt_errno)
int ABT_xstream_barrier_wait(ABT_xstream_barrier barrier)
Wait on an execution-stream barrier.
#define ABTI_IS_ERROR_CHECK_ENABLED
static uint64_t ABTD_atomic_acquire_load_uint64(const ABTD_atomic_uint64 *ptr)
static ABT_xstream_barrier ABTI_xstream_barrier_get_handle(ABTI_xstream_barrier *p_barrier)
static void ABTD_atomic_release_store_uint64(ABTD_atomic_uint64 *ptr, uint64_t val)
static void ABTD_spinlock_acquire(ABTD_spinlock *p_lock)
#define ABTI_CHECK_NULL_XSTREAM_BARRIER_PTR(p)
#define ABTI_HANDLE_ERROR(n)
static void ABTD_atomic_pause(void)
static ABTU_ret_err int ABTU_malloc(size_t size, void **p_ptr)
#define ABT_SUCCESS
Error code: the routine returns successfully.
#define ABT_XSTREAM_BARRIER_NULL
struct ABT_xstream_barrier_opaque * ABT_xstream_barrier
Execution-stream barrier handle type.
static void ABTD_spinlock_clear(ABTD_spinlock *p_lock)
#define ABT_ERR_INV_ARG
Error code: invalid user argument.
static void ABTU_free(void *ptr)
static void ABTD_spinlock_release(ABTD_spinlock *p_lock)
#define ABTI_CHECK_TRUE(cond, abt_errno)
int ABT_xstream_barrier_create(uint32_t num_waiters, ABT_xstream_barrier *newbarrier)
Create a new execution-stream barrier.