Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::ImageMicroOp< N, T, N2, T2 > Class Template Reference

#include <image.h>

Inheritance diagram for Realm::ImageMicroOp< N, T, N2, T2 >:
Collaboration diagram for Realm::ImageMicroOp< N, T, N2, T2 >:

Public Types

typedef T IDXTYPE
 
typedef T2 IDXTYPE2
 
- Public Types inherited from Realm::PartitioningMicroOp
typedef IntrusiveList< PartitioningMicroOp, REALM_PMTA_USE(PartitioningMicroOp, uop_link), DummyLockMicroOpList
 

Public Member Functions

 ImageMicroOp (IndexSpace< N, T > _parent_space, IndexSpace< N2, T2 > _inst_space, RegionInstance _inst, size_t _field_offset, bool _is_ranged)
 
virtual ~ImageMicroOp (void)
 
void add_sparsity_output (IndexSpace< N2, T2 > _source, SparsityMap< N, T > _sparsity)
 
void add_sparsity_output_with_difference (IndexSpace< N2, T2 > _source, IndexSpace< N, T > _diff_rhs, SparsityMap< N, T > _sparsity)
 
void add_approx_output (int index, PartitioningOperation *op)
 
virtual void execute (void)
 
void dispatch (PartitioningOperation *op, bool inline_ok)
 
- Public Member Functions inherited from Realm::PartitioningMicroOp
 PartitioningMicroOp (void)
 
virtual ~PartitioningMicroOp (void)
 
void mark_started (void)
 
void mark_finished (void)
 
template<int N, typename T >
void sparsity_map_ready (SparsityMapImpl< N, T > *sparsity, bool precise)
 
 REALM_PMTA_DEFN (PartitioningMicroOp, IntrusiveListLink< PartitioningMicroOp >, uop_link)
 

Static Public Attributes

static const int DIM = N
 
static const int DIM2 = N2
 

Protected Member Functions

template<typename S >
 REALM_ATTR_WARN_UNUSED (bool serialize_params(S &s) const)
 
template<typename S >
 ImageMicroOp (NodeID _requestor, AsyncMicroOp *_async_microop, S &s)
 
template<typename BM >
void populate_bitmasks_ptrs (std::map< int, BM * > &bitmasks)
 
template<typename BM >
void populate_bitmasks_ranges (std::map< int, BM * > &bitmasks)
 
template<typename BM >
void populate_approx_bitmask_ptrs (BM &bitmask)
 
template<typename BM >
void populate_approx_bitmask_ranges (BM &bitmask)
 
- Protected Member Functions inherited from Realm::PartitioningMicroOp
 PartitioningMicroOp (NodeID _requestor, AsyncMicroOp *_async_microop)
 
void finish_dispatch (PartitioningOperation *op, bool inline_ok)
 

Protected Attributes

IndexSpace< N, T > parent_space
 
IndexSpace< N2, T2 > inst_space
 
RegionInstance inst
 
size_t field_offset
 
bool is_ranged
 
std::vector< IndexSpace< N2, T2 > > sources
 
std::vector< IndexSpace< N, T > > diff_rhss
 
std::vector< SparsityMap< N, T > > sparsity_outputs
 
int approx_output_index
 
intptr_t approx_output_op
 
- Protected Attributes inherited from Realm::PartitioningMicroOp
atomic< int > wait_count
 
NodeID requestor
 
AsyncMicroOpasync_microop
 

Static Protected Attributes

static ActiveMessageHandlerReg< RemoteMicroOpMessage< ImageMicroOp< N, T, N2, T2 > > > areg
 

Friends

struct RemoteMicroOpMessage< ImageMicroOp< N, T, N2, T2 > >
 
class PartitioningMicroOp
 

Additional Inherited Members

- Public Attributes inherited from Realm::PartitioningMicroOp
IntrusiveListLink< PartitioningMicroOpuop_link
 
- Static Protected Member Functions inherited from Realm::PartitioningMicroOp
template<typename T >
static void forward_microop (NodeID target, PartitioningOperation *op, T *microop)
 

Member Typedef Documentation

◆ IDXTYPE

template<int N, typename T , int N2, typename T2 >
typedef T Realm::ImageMicroOp< N, T, N2, T2 >::IDXTYPE

◆ IDXTYPE2

template<int N, typename T , int N2, typename T2 >
typedef T2 Realm::ImageMicroOp< N, T, N2, T2 >::IDXTYPE2

Constructor & Destructor Documentation

◆ ImageMicroOp() [1/2]

template<int N, typename T , int N2, typename T2 >
Realm::ImageMicroOp< N, T, N2, T2 >::ImageMicroOp ( IndexSpace< N, T >  _parent_space,
IndexSpace< N2, T2 >  _inst_space,
RegionInstance  _inst,
size_t  _field_offset,
bool  _is_ranged 
)

◆ ~ImageMicroOp()

template<int N, typename T , int N2, typename T2 >
virtual Realm::ImageMicroOp< N, T, N2, T2 >::~ImageMicroOp ( void  )
virtual

◆ ImageMicroOp() [2/2]

template<int N, typename T , int N2, typename T2 >
template<typename S >
Realm::ImageMicroOp< N, T, N2, T2 >::ImageMicroOp ( NodeID  _requestor,
AsyncMicroOp _async_microop,
S &  s 
)
protected

Member Function Documentation

◆ add_approx_output()

template<int N, typename T , int N2, typename T2 >
void Realm::ImageMicroOp< N, T, N2, T2 >::add_approx_output ( int  index,
PartitioningOperation op 
)

◆ add_sparsity_output()

template<int N, typename T , int N2, typename T2 >
void Realm::ImageMicroOp< N, T, N2, T2 >::add_sparsity_output ( IndexSpace< N2, T2 >  _source,
SparsityMap< N, T >  _sparsity 
)

◆ add_sparsity_output_with_difference()

template<int N, typename T , int N2, typename T2 >
void Realm::ImageMicroOp< N, T, N2, T2 >::add_sparsity_output_with_difference ( IndexSpace< N2, T2 >  _source,
IndexSpace< N, T >  _diff_rhs,
SparsityMap< N, T >  _sparsity 
)

◆ dispatch()

template<int N, typename T , int N2, typename T2 >
void Realm::ImageMicroOp< N, T, N2, T2 >::dispatch ( PartitioningOperation op,
bool  inline_ok 
)

◆ execute()

template<int N, typename T , int N2, typename T2 >
virtual void Realm::ImageMicroOp< N, T, N2, T2 >::execute ( void  )
virtual

◆ populate_approx_bitmask_ptrs()

template<int N, typename T , int N2, typename T2 >
template<typename BM >
void Realm::ImageMicroOp< N, T, N2, T2 >::populate_approx_bitmask_ptrs ( BM &  bitmask)
protected

◆ populate_approx_bitmask_ranges()

template<int N, typename T , int N2, typename T2 >
template<typename BM >
void Realm::ImageMicroOp< N, T, N2, T2 >::populate_approx_bitmask_ranges ( BM &  bitmask)
protected

◆ populate_bitmasks_ptrs()

template<int N, typename T , int N2, typename T2 >
template<typename BM >
void Realm::ImageMicroOp< N, T, N2, T2 >::populate_bitmasks_ptrs ( std::map< int, BM * > &  bitmasks)
protected

◆ populate_bitmasks_ranges()

template<int N, typename T , int N2, typename T2 >
template<typename BM >
void Realm::ImageMicroOp< N, T, N2, T2 >::populate_bitmasks_ranges ( std::map< int, BM * > &  bitmasks)
protected

◆ REALM_ATTR_WARN_UNUSED()

template<int N, typename T , int N2, typename T2 >
template<typename S >
Realm::ImageMicroOp< N, T, N2, T2 >::REALM_ATTR_WARN_UNUSED ( bool serialize_params(S &s) const  )
protected

Friends And Related Symbol Documentation

◆ PartitioningMicroOp

template<int N, typename T , int N2, typename T2 >
friend class PartitioningMicroOp ( void  )
friend

◆ RemoteMicroOpMessage< ImageMicroOp< N, T, N2, T2 > >

template<int N, typename T , int N2, typename T2 >
friend struct RemoteMicroOpMessage< ImageMicroOp< N, T, N2, T2 > >
friend

Member Data Documentation

◆ approx_output_index

template<int N, typename T , int N2, typename T2 >
int Realm::ImageMicroOp< N, T, N2, T2 >::approx_output_index
protected

◆ approx_output_op

template<int N, typename T , int N2, typename T2 >
intptr_t Realm::ImageMicroOp< N, T, N2, T2 >::approx_output_op
protected

◆ areg

template<int N, typename T , int N2, typename T2 >
ActiveMessageHandlerReg<RemoteMicroOpMessage<ImageMicroOp<N,T,N2,T2> > > Realm::ImageMicroOp< N, T, N2, T2 >::areg
staticprotected

◆ diff_rhss

template<int N, typename T , int N2, typename T2 >
std::vector<IndexSpace<N,T> > Realm::ImageMicroOp< N, T, N2, T2 >::diff_rhss
protected

◆ DIM

template<int N, typename T , int N2, typename T2 >
const int Realm::ImageMicroOp< N, T, N2, T2 >::DIM = N
static

◆ DIM2

template<int N, typename T , int N2, typename T2 >
const int Realm::ImageMicroOp< N, T, N2, T2 >::DIM2 = N2
static

◆ field_offset

template<int N, typename T , int N2, typename T2 >
size_t Realm::ImageMicroOp< N, T, N2, T2 >::field_offset
protected

◆ inst

template<int N, typename T , int N2, typename T2 >
RegionInstance Realm::ImageMicroOp< N, T, N2, T2 >::inst
protected

◆ inst_space

template<int N, typename T , int N2, typename T2 >
IndexSpace<N2,T2> Realm::ImageMicroOp< N, T, N2, T2 >::inst_space
protected

◆ is_ranged

template<int N, typename T , int N2, typename T2 >
bool Realm::ImageMicroOp< N, T, N2, T2 >::is_ranged
protected

◆ parent_space

template<int N, typename T , int N2, typename T2 >
IndexSpace<N,T> Realm::ImageMicroOp< N, T, N2, T2 >::parent_space
protected

◆ sources

template<int N, typename T , int N2, typename T2 >
std::vector<IndexSpace<N2,T2> > Realm::ImageMicroOp< N, T, N2, T2 >::sources
protected

◆ sparsity_outputs

template<int N, typename T , int N2, typename T2 >
std::vector<SparsityMap<N,T> > Realm::ImageMicroOp< N, T, N2, T2 >::sparsity_outputs
protected

The documentation for this class was generated from the following file: