Legion Runtime
|
#include <legion.h>
Public Member Functions | |
CopyLauncher (Predicate pred=Predicate::TRUE_PRED, MapperID id=0, MappingTagID tag=0, UntypedBuffer map_arg=UntypedBuffer(), const char *provenance="") | |
unsigned | add_copy_requirements (const RegionRequirement &src, const RegionRequirement &dst) |
void | add_src_field (unsigned idx, FieldID fid, bool inst=true) |
void | add_dst_field (unsigned idx, FieldID fid, bool inst=true) |
void | add_src_indirect_field (FieldID src_idx_fid, const RegionRequirement &src_idx_req, bool is_range_indirection=false, bool inst=true) |
void | add_dst_indirect_field (FieldID dst_idx_fid, const RegionRequirement &dst_idx_req, bool is_range_indirection=false, bool inst=true) |
RegionRequirement & | add_src_indirect_field (const RegionRequirement &src_idx_req, bool is_range_indirection=false) |
RegionRequirement & | add_dst_indirect_field (const RegionRequirement &dst_idx_req, bool is_range_indirection=false) |
void | add_grant (Grant g) |
void | add_wait_barrier (PhaseBarrier bar) |
void | add_arrival_barrier (PhaseBarrier bar) |
void | add_wait_handshake (LegionHandshake handshake) |
void | add_arrival_handshake (LegionHandshake handshake) |
Public Attributes | |
std::vector< RegionRequirement > | src_requirements |
std::vector< RegionRequirement > | dst_requirements |
std::vector< RegionRequirement > | src_indirect_requirements |
std::vector< RegionRequirement > | dst_indirect_requirements |
std::vector< bool > | src_indirect_is_range |
std::vector< bool > | dst_indirect_is_range |
std::vector< Grant > | grants |
std::vector< PhaseBarrier > | wait_barriers |
std::vector< PhaseBarrier > | arrive_barriers |
Predicate | predicate |
MapperID | map_id |
MappingTagID | tag |
UntypedBuffer | map_arg |
DomainPoint | point |
IndexSpace | sharding_space |
std::string | provenance |
const std::vector< StaticDependence > * | static_dependences |
bool | possible_src_indirect_out_of_range |
bool | possible_dst_indirect_out_of_range |
bool | possible_dst_indirect_aliasing |
bool | silence_warnings |
Copy launchers are objects that can be used to issue copies between two regions including regions that are not of the same region tree. Copy operations specify an arbitrary number of pairs of source and destination region requirements. The source region requirements must be READ_ONLY, while the destination requirements must be either READ_WRITE, WRITE_ONLY, or REDUCE with a reduction function. While the regions in a source and a destination pair do not have to be in the same region tree, one of the following two conditions must hold: