20#ifndef REALM_DEPPART_PREIMAGE_H
21#define REALM_DEPPART_PREIMAGE_H
27 template <
int N,
typename T,
int N2,
typename T2>
30 static const int DIM = N;
32 static const int DIM2 = N2;
57 template <
typename BM>
60 template <
typename BM>
74 template <
int N,
typename T,
int N2,
typename T2>
77 static const int DIM = N;
79 static const int DIM2 = N2;
94 virtual void print(std::ostream& os)
const;
115 template <
typename T>
122 const void *data,
size_t datalen);
125 template <
int N,
typename T,
int N2,
typename T2>
146 template <
typename BM>
Definition activemsg.h:303
Definition partitions.h:85
Definition indexspace.h:214
unsigned gen_t
Definition event_impl.h:87
Definition event_impl.h:198
Definition partitions.h:45
Definition partitions.h:98
Definition partitions.h:153
PreimageMicroOp(NodeID _requestor, AsyncMicroOp *_async_microop, S &s)
T IDXTYPE
Definition preimage.h:31
IndexSpace< N, T > parent_space
Definition preimage.h:63
std::vector< IndexSpace< N2, T2 > > targets
Definition preimage.h:67
RegionInstance inst
Definition preimage.h:64
bool is_ranged
Definition preimage.h:66
static const int DIM
Definition preimage.h:30
virtual ~PreimageMicroOp(void)
void add_sparsity_output(IndexSpace< N2, T2 > _target, SparsityMap< N, T > _sparsity)
std::vector< SparsityMap< N, T > > sparsity_outputs
Definition preimage.h:68
PreimageMicroOp(IndexSpace< N, T > _parent_space, IndexSpace< N, T > _inst_space, RegionInstance _inst, size_t _field_offset, bool _is_ranged)
IndexSpace< N, T > inst_space
Definition preimage.h:63
void populate_bitmasks_ranges(std::map< int, BM * > &bitmasks)
static ActiveMessageHandlerReg< RemoteMicroOpMessage< PreimageMicroOp< N, T, N2, T2 > > > areg
Definition preimage.h:47
REALM_ATTR_WARN_UNUSED(bool serialize_params(S &s) const)
void populate_bitmasks_ptrs(std::map< int, BM * > &bitmasks)
T2 IDXTYPE2
Definition preimage.h:33
void dispatch(PartitioningOperation *op, bool inline_ok)
static const int DIM2
Definition preimage.h:32
size_t field_offset
Definition preimage.h:65
virtual void execute(void)
virtual ~PreimageOperation(void)
IndexSpace< N, T > parent
Definition preimage.h:103
PreimageOperation(const IndexSpace< N, T > &_parent, const DomainTransform< N2, T2, N, T > &_domain_transform, const ProfilingRequestSet &reqs, GenEventImpl *_finish_event, EventImpl::gen_t _finish_gen)
Mutex mutex
Definition preimage.h:107
T IDXTYPE
Definition preimage.h:78
std::vector< atomic< int > > contrib_counts
Definition preimage.h:111
virtual void print(std::ostream &os) const
std::vector< SparsityMap< N, T > > preimages
Definition preimage.h:106
IndexSpace< N, T > add_target(const IndexSpace< N2, T2 > &target)
std::vector< IndexSpace< N2, T2 > > targets
Definition preimage.h:105
static ActiveMessageHandlerReg< ApproxImageResponseMessage< PreimageOperation< N, T, N2, T2 > > > areg
Definition preimage.h:101
AsyncMicroOp * dummy_overlap_uop
Definition preimage.h:112
atomic< int > remaining_sparse_images
Definition preimage.h:110
T2 IDXTYPE2
Definition preimage.h:80
OverlapTester< N2, T2 > * overlap_tester
Definition preimage.h:108
static const int DIM
Definition preimage.h:77
void provide_sparse_image(int index, const Rect< N2, T2 > *rects, size_t count)
static const int DIM2
Definition preimage.h:79
std::map< int, std::vector< Rect< N2, T2 > > > pending_sparse_images
Definition preimage.h:109
virtual void set_overlap_tester(void *tester)
virtual void execute(void)
DomainTransform< N2, T2, N, T > domain_transform
Definition preimage.h:104
Definition profiling.h:363
Definition preimage.h:126
virtual void execute(void)
IndexSpace< N, T > parent_space
Definition preimage.h:150
void populate_bitmasks(std::map< int, BM * > &bitmasks)
static const int DIM
Definition preimage.h:128
StructuredPreimageMicroOp(const StructuredTransform< N2, T2, N, T > &_transform, IndexSpace< N, T > _parent_space)
void add_sparsity_output(IndexSpace< N2, T2 > _target, SparsityMap< N, T > _sparsity)
T2 IDXTYPE2
Definition preimage.h:131
static const int DIM2
Definition preimage.h:130
std::vector< IndexSpace< N2, T2 > > targets
Definition preimage.h:151
void dispatch(PartitioningOperation *op, bool inline_ok)
std::vector< SparsityMap< N, T > > sparsity_outputs
Definition preimage.h:152
StructuredTransform< N2, T2, N, T > transform
Definition preimage.h:149
T IDXTYPE
Definition preimage.h:129
virtual ~StructuredPreimageMicroOp(void)
Definition activemsg.h:38
int NodeID
Definition nodeset.h:40
Definition preimage.h:116
int approx_output_index
Definition preimage.h:118
static void handle_message(NodeID sender, const ApproxImageResponseMessage< T > &msg, const void *data, size_t datalen)
intptr_t approx_output_op
Definition preimage.h:117
Definition indexspace.h:323
Definition partitions.h:230