Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
PRealm::Barrier Class Reference

#include <prealm.h>

Inheritance diagram for PRealm::Barrier:
Collaboration diagram for PRealm::Barrier:

Public Types

typedef ::realm_barrier_timestamp_t timestamp_t
 
using ParticipantInfo = Realm::Barrier::ParticipantInfo
 
- Public Types inherited from Realm::Event
typedef ::realm_id_t id_t
 

Public Member Functions

 Barrier (void)
 
 Barrier (::realm_id_t i, ::realm_barrier_timestamp_t t)
 
 Barrier (const Realm::Barrier &b)
 
 Barrier (const Barrier &b)=default
 
 Barrier (Barrier &&b)=default
 
Barrieroperator= (const Realm::Barrier &b)
 
Barrieroperator= (const Barrier &b)=default
 
Barrieroperator= (Barrier &&b)=default
 
 operator Realm::Barrier (void) const
 
Barrier set_arrival_pattern (const Barrier::ParticipantInfo *expected_arrivals, size_t num_participants)
 
void destroy_barrier (void)
 
Barrier advance_barrier (void) const
 
Barrier alter_arrival_count (int delta) const
 
Barrier get_previous_phase (void) const
 
void arrive (unsigned count=1, Event wait_on=Event::NO_EVENT, const void *reduce_value=0, size_t reduce_value_size=0) const
 
bool get_result (void *value, size_t value_size) const
 
- Public Member Functions inherited from PRealm::Event
 Event (void)
 
 Event (::realm_id_t i)
 
 Event (const Realm::Event &e)
 
 Event (const Event &rhs)=default
 
 Event (Event &&rhs)=default
 
Eventoperator= (const Realm::Event &e)
 
Eventoperator= (const Event &e)=default
 
Eventoperator= (Event &&rhs)=default
 
bool is_barrier (void) const
 
void wait (void) const
 
void wait_faultaware (bool &poisoned) const
 
- Public Member Functions inherited from Realm::Event
 Event ()=default
 
constexpr Event (id_t id)
 
constexpr operator id_t () const
 
bool operator< (const Event &rhs) const
 
bool operator== (const Event &rhs) const
 
bool operator!= (const Event &rhs) const
 
bool exists (void) const
 
bool has_triggered (void) const
 
void wait (void) const
 
void external_wait (void) const
 
bool external_timedwait (long long max_ns) const
 
bool has_triggered_faultaware (bool &poisoned) const
 
void wait_faultaware (bool &poisoned) const
 
void external_wait_faultaware (bool &poisoned) const
 
bool external_timedwait_faultaware (bool &poisoned, long long max_ns) const
 
void subscribe (void) const
 
void cancel_operation (const void *reason_data, size_t reason_size) const
 
void set_operation_priority (int new_priority) const
 

Static Public Member Functions

static Barrier create_barrier (unsigned expected_arrivals, ReductionOpID redop_id=0, const void *initial_value=0, size_t initial_value_size=0)
 
static Barrier create_barrier (const Barrier::ParticipantInfo *expected_arrivals, size_t num_participants, ReductionOpID redop_id=0, const void *initial_value=0, size_t initial_value_size=0)
 
- Static Public Member Functions inherited from PRealm::Event
static Event merge_events (const Event *wait_for, size_t num_events)
 
static Event merge_events (Event ev1, Event ev2, Event ev3=NO_EVENT, Event ev4=NO_EVENT, Event ev5=NO_EVENT, Event ev6=NO_EVENT)
 
static Event merge_events (const std::set< Event > &wait_for)
 
static Event merge_events (const span< const Event > &wait_for)
 
static Event merge_events_ignorefaults (const Event *wait_for, size_t num_events)
 
static Event merge_events_ignorefaults (const span< const Event > &wait_for)
 
static Event merge_events_ignorefaults (const std::set< Event > &wait_for)
 
static Event ignorefaults (Event wait_for)
 
- Static Public Member Functions inherited from Realm::Event
static Event merge_events_ignorefaults (const Event *wait_for, size_t num_events)
 
static Event merge_events_ignorefaults (const span< const Event > &wait_for)
 
static Event merge_events_ignorefaults (const std::set< Event > &wait_for)
 
static Event ignorefaults (Event wait_for)
 
static void advise_event_ordering (Event happens_before, Event happens_after)
 
static void advise_event_ordering (const Event *happens_before, size_t num_events, Event happens_after, bool all_must_trigger=true)
 
static void advise_event_ordering (const span< Event > &happens_before, Event happens_after, bool all_must_trigger=true)
 
static Event merge_events (const Event *wait_for, size_t num_events)
 
static Event merge_events (Event ev1, Event ev2, Event ev3=NO_EVENT, Event ev4=NO_EVENT, Event ev5=NO_EVENT, Event ev6=NO_EVENT)
 
static Event merge_events (const std::set< Event > &wait_for)
 
static Event merge_events (const span< const Event > &wait_for)
 

Public Attributes

timestamp_t timestamp
 
- Public Attributes inherited from Realm::Event
id_t id {REALM_NO_EVENT}
 

Static Public Attributes

static const Barrier NO_BARRIER
 
static const ::realm_event_gen_t MAX_PHASES
 
- Static Public Attributes inherited from PRealm::Event
static const Event NO_EVENT
 
- Static Public Attributes inherited from Realm::Event
static const Event NO_EVENT
 The value should be usued to initialize an event handle. NO_EVENT is always in has triggered state .
 

Member Typedef Documentation

◆ ParticipantInfo

◆ timestamp_t

Constructor & Destructor Documentation

◆ Barrier() [1/5]

PRealm::Barrier::Barrier ( void  )
inline

◆ Barrier() [2/5]

PRealm::Barrier::Barrier ( ::realm_id_t  i,
::realm_barrier_timestamp_t  t 
)
inline

◆ Barrier() [3/5]

PRealm::Barrier::Barrier ( const Realm::Barrier b)
inline

◆ Barrier() [4/5]

PRealm::Barrier::Barrier ( const Barrier b)
default

◆ Barrier() [5/5]

PRealm::Barrier::Barrier ( Barrier &&  b)
default

Member Function Documentation

◆ advance_barrier()

Barrier PRealm::Barrier::advance_barrier ( void  ) const

◆ alter_arrival_count()

Barrier PRealm::Barrier::alter_arrival_count ( int  delta) const

◆ arrive()

void PRealm::Barrier::arrive ( unsigned  count = 1,
Event  wait_on = Event::NO_EVENT,
const void *  reduce_value = 0,
size_t  reduce_value_size = 0 
) const

◆ create_barrier() [1/2]

static Barrier PRealm::Barrier::create_barrier ( const Barrier::ParticipantInfo expected_arrivals,
size_t  num_participants,
ReductionOpID  redop_id = 0,
const void *  initial_value = 0,
size_t  initial_value_size = 0 
)
static

◆ create_barrier() [2/2]

static Barrier PRealm::Barrier::create_barrier ( unsigned  expected_arrivals,
ReductionOpID  redop_id = 0,
const void *  initial_value = 0,
size_t  initial_value_size = 0 
)
static

◆ destroy_barrier()

void PRealm::Barrier::destroy_barrier ( void  )

◆ get_previous_phase()

Barrier PRealm::Barrier::get_previous_phase ( void  ) const

◆ get_result()

bool PRealm::Barrier::get_result ( void *  value,
size_t  value_size 
) const

◆ operator Realm::Barrier()

PRealm::Barrier::operator Realm::Barrier ( void  ) const

◆ operator=() [1/3]

Barrier & PRealm::Barrier::operator= ( Barrier &&  b)
default

◆ operator=() [2/3]

Barrier & PRealm::Barrier::operator= ( const Barrier b)
default

◆ operator=() [3/3]

Barrier & PRealm::Barrier::operator= ( const Realm::Barrier b)
inline

◆ set_arrival_pattern()

Barrier PRealm::Barrier::set_arrival_pattern ( const Barrier::ParticipantInfo expected_arrivals,
size_t  num_participants 
)

Member Data Documentation

◆ MAX_PHASES

const ::realm_event_gen_t PRealm::Barrier::MAX_PHASES
static

◆ NO_BARRIER

const Barrier PRealm::Barrier::NO_BARRIER
static

◆ timestamp

timestamp_t PRealm::Barrier::timestamp

The documentation for this class was generated from the following file: