Legion Runtime
|
#include <legion.h>
Public Member Functions | |
LegionHandshake (const LegionHandshake &rhs) | |
bool | operator== (const LegionHandshake &h) const |
bool | operator< (const LegionHandshake &h) const |
LegionHandshake & | operator= (const LegionHandshake &rhs) |
void | ext_handoff_to_legion (void) const |
void | ext_wait_on_legion (void) const |
void | legion_handoff_to_ext (void) const |
void | legion_wait_on_ext (void) const |
PhaseBarrier | get_legion_wait_phase_barrier (void) const |
PhaseBarrier | get_legion_arrive_phase_barrier (void) const |
void | advance_legion_handshake (void) const |
Public Member Functions inherited from Legion::Unserializable< LegionHandshake > | |
size_t | legion_buffer_size (void) |
size_t | legion_serialize (void *buffer) |
size_t | legion_deserialize (const void *buffer) |
Protected Member Functions | |
FRIEND_ALL_RUNTIME_CLASSES | LegionHandshake (Internal::LegionHandshakeImpl *impl) |
Protected Attributes | |
Internal::LegionHandshakeImpl * | impl |
This class provides a light-weight synchronization primitive for external applications to use when performing synchronization with Legion tasks. It allows for control to be passed from the external application into Legion and then for control to be handed back to the external application from Legion. The user can configure which direction occurs first when constructing the handshake object.
void Legion::LegionHandshake::advance_legion_handshake | ( | void | ) | const |
Advance the handshake associated with the Legion side
void Legion::LegionHandshake::ext_handoff_to_legion | ( | void | ) | const |
void Legion::LegionHandshake::ext_wait_on_legion | ( | void | ) | const |
A blocking call that will cause this participant to wait for all Legion participants to hand over control to the external application.
PhaseBarrier Legion::LegionHandshake::get_legion_arrive_phase_barrier | ( | void | ) | const |
Get the Legion phase barrier associated with arriving on the handshake
PhaseBarrier Legion::LegionHandshake::get_legion_wait_phase_barrier | ( | void | ) | const |
Get the Legion phase barrier associated with waiting on the handshake
void Legion::LegionHandshake::legion_handoff_to_ext | ( | void | ) | const |
A non-blocking call to signal to the external application that this participant is ready to pass control to to it.
void Legion::LegionHandshake::legion_wait_on_ext | ( | void | ) | const |
A blocking call that will cause this participant to wait for all external participants to hand over control to Legion.