![]() |
Realm
A distributed, event-based tasking library
|
#include <event.h>
Classes | |
| struct | ParticipantInfo |
Public Types | |
| typedef ::realm_barrier_timestamp_t | timestamp_t |
Public Types inherited from Realm::Event | |
| typedef ::realm_id_t | id_t |
Public Member Functions | |
| 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 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 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 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 . | |
A barrier is similar to a user event, except that it has a count of how many threads (or whatever) need to "trigger" before the actual trigger occurs.
| Barrier Realm::Barrier::advance_barrier | ( | void | ) | const |
| Barrier Realm::Barrier::alter_arrival_count | ( | int | delta | ) | const |
| void Realm::Barrier::arrive | ( | unsigned | count = 1, |
| Event | wait_on = Event::NO_EVENT, |
||
| const void * | reduce_value = 0, |
||
| size_t | reduce_value_size = 0 |
||
| ) | const |
|
static |
Creates a barrier
| expected_arrivals | information about the arrival pattern |
| num_participants | the size of expected arrivals |
| redop_id | ID of a reduction operator |
| initial_value | initial reduction value |
| initial_value_size | size of the initial reduction value. |
|
static |
| void Realm::Barrier::destroy_barrier | ( | void | ) |
| Barrier Realm::Barrier::get_previous_phase | ( | void | ) | const |
| bool Realm::Barrier::get_result | ( | void * | value, |
| size_t | value_size | ||
| ) | const |
| Barrier Realm::Barrier::set_arrival_pattern | ( | const Barrier::ParticipantInfo * | expected_arrivals, |
| size_t | num_participants | ||
| ) |
Sets the arrival pattern
| expected_arrivals | information about the arrival pattern |
| num_participants | the size of expected arrivals |
|
static |
|
static |
| timestamp_t Realm::Barrier::timestamp |