Legion Runtime
|
#include <legion.h>
Public Member Functions | |
AcquireLauncher (LogicalRegion logical_region, LogicalRegion parent_region, PhysicalRegion physical_region=PhysicalRegion(), Predicate pred=Predicate::TRUE_PRED, MapperID id=0, MappingTagID tag=0, UntypedBuffer map_arg=UntypedBuffer(), const char *provenance="") | |
void | add_field (FieldID f) |
void | add_grant (Grant g) |
void | add_wait_barrier (PhaseBarrier pb) |
void | add_arrival_barrier (PhaseBarrier pb) |
void | add_wait_handshake (LegionHandshake handshake) |
void | add_arrival_handshake (LegionHandshake handshake) |
Public Attributes | |
LogicalRegion | logical_region |
LogicalRegion | parent_region |
std::set< FieldID > | fields |
PhysicalRegion | physical_region |
std::vector< Grant > | grants |
std::vector< PhaseBarrier > | wait_barriers |
std::vector< PhaseBarrier > | arrive_barriers |
Predicate | predicate |
MapperID | map_id |
MappingTagID | tag |
UntypedBuffer | map_arg |
std::string | provenance |
const std::vector< StaticDependence > * | static_dependences |
bool | silence_warnings |
An AcquireLauncher is a class that is used for supporting user-level software coherence when working with logical regions held in simultaneous coherence mode. By default simultaneous mode requires all users to use the same physical instance. By acquiring coherence on the physical region, a parent task can launch sub-tasks which are not required to use the same physical instance. Synchronization primitives are allowed to specify what must occur before the acquire operation is performed.