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

#include <preimage.h>

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

Public Types

typedef T IDXTYPE
 
typedef T2 IDXTYPE2
 
- Public Types inherited from Realm::PartitioningOperation
typedef IntrusiveList< PartitioningOperation, REALM_PMTA_USE(PartitioningOperation, op_link), DummyLockOpList
 

Public Member Functions

 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)
 
virtual ~PreimageOperation (void)
 
IndexSpace< N, T > add_target (const IndexSpace< N2, T2 > &target)
 
virtual void execute (void)
 
virtual void print (std::ostream &os) const
 
virtual void set_overlap_tester (void *tester)
 
void provide_sparse_image (int index, const Rect< N2, T2 > *rects, size_t count)
 
- Public Member Functions inherited from Realm::PartitioningOperation
 PartitioningOperation (const ProfilingRequestSet &reqs, GenEventImpl *_finish_event, EventImpl::gen_t _finish_gen)
 
void launch (Event wait_for)
 
 REALM_PMTA_DEFN (PartitioningOperation, IntrusiveListLink< PartitioningOperation >, op_link)
 
- Public Member Functions inherited from Realm::Operation
void add_reference (void)
 
void remove_reference (void)
 
virtual bool mark_ready (void)
 
virtual bool mark_started (void)
 
virtual void mark_finished (bool successful)
 
virtual void mark_terminated (int error_code, const ByteArray &details)
 
virtual bool attempt_cancellation (int error_code, const void *reason_data, size_t reason_size)
 
virtual void set_priority (int new_priority)
 
virtual void handle_poisoned_precondition (Event pre)
 
bool cancellation_requested (void) const
 
void add_async_work_item (AsyncWorkItem *item)
 
ProfilingMeasurements::OperationEventWaits::WaitIntervalcreate_wait_interval (Event e)
 
bool wants_gpu_work_start () const
 
void mark_gpu_work_start ()
 
void add_gpu_work_start (uint64_t timestamp)
 
void add_gpu_work_end (uint64_t timestamp)
 
Event get_finish_event (void) const
 
void add_finish_event_precondition (Event precondition)
 

Static Public Attributes

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

Protected Attributes

IndexSpace< N, T > parent
 
DomainTransform< N2, T2, N, T > domain_transform
 
std::vector< IndexSpace< N2, T2 > > targets
 
std::vector< SparsityMap< N, T > > preimages
 
Mutex mutex
 
OverlapTester< N2, T2 > * overlap_tester
 
std::map< int, std::vector< Rect< N2, T2 > > > pending_sparse_images
 
atomic< int > remaining_sparse_images
 
std::vector< atomic< int > > contrib_counts
 
AsyncMicroOpdummy_overlap_uop
 
- Protected Attributes inherited from Realm::Operation
GenEventImplfinish_event
 
EventImpl::gen_t finish_gen
 
atomic< int > refcount
 
atomic< Status::Resultstate
 
ProfilingMeasurements::OperationStatus status
 
bool wants_timeline
 
ProfilingMeasurements::OperationTimeline timeline
 
bool wants_gpu_timeline
 
ProfilingMeasurements::OperationTimelineGPU timeline_gpu
 
bool wants_event_waits
 
ProfilingMeasurements::OperationEventWaits waits
 
ProfilingRequestSet requests
 
ProfilingMeasurementCollection measurements
 
atomic< AsyncWorkItem * > all_work_items
 
atomic< int > pending_work_items
 
atomic< int > failed_work_items
 

Static Protected Attributes

static ActiveMessageHandlerReg< ApproxImageResponseMessage< PreimageOperation< N, T, N2, T2 > > > areg
 

Additional Inherited Members

- Static Public Member Functions inherited from Realm::PartitioningOperation
static void do_inline_profiling (const ProfilingRequestSet &reqs, long long inline_start_time)
 
- Public Attributes inherited from Realm::PartitioningOperation
IntrusiveListLink< PartitioningOperationop_link
 
DeferredLaunch deferred_launch
 
- Protected Types inherited from Realm::Operation
typedef ProfilingMeasurements::OperationStatus Status
 
- Protected Member Functions inherited from Realm::Operation
 Operation (GenEventImpl *_finish_event, EventImpl::gen_t _finish_gen, const ProfilingRequestSet &_requests)
 
virtual ~Operation (void)
 
void work_item_finished (AsyncWorkItem *item, bool successful)
 
virtual void mark_completed (void)
 
void clear_profiling (void)
 
void reconstruct_measurements ()
 
void trigger_finish_event (bool poisoned)
 
void send_profiling_data (void)
 
virtual Status::Result get_state (void)
 

Member Typedef Documentation

◆ IDXTYPE

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

◆ IDXTYPE2

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

Constructor & Destructor Documentation

◆ PreimageOperation()

template<int N, typename T , int N2, typename T2 >
Realm::PreimageOperation< N, T, N2, T2 >::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 
)

◆ ~PreimageOperation()

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

Member Function Documentation

◆ add_target()

template<int N, typename T , int N2, typename T2 >
IndexSpace< N, T > Realm::PreimageOperation< N, T, N2, T2 >::add_target ( const IndexSpace< N2, T2 > &  target)

◆ execute()

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

◆ print()

template<int N, typename T , int N2, typename T2 >
virtual void Realm::PreimageOperation< N, T, N2, T2 >::print ( std::ostream &  os) const
virtual

Implements Realm::Operation.

◆ provide_sparse_image()

template<int N, typename T , int N2, typename T2 >
void Realm::PreimageOperation< N, T, N2, T2 >::provide_sparse_image ( int  index,
const Rect< N2, T2 > *  rects,
size_t  count 
)

◆ set_overlap_tester()

template<int N, typename T , int N2, typename T2 >
virtual void Realm::PreimageOperation< N, T, N2, T2 >::set_overlap_tester ( void *  tester)
virtual

Reimplemented from Realm::PartitioningOperation.

Member Data Documentation

◆ areg

template<int N, typename T , int N2, typename T2 >
ActiveMessageHandlerReg<ApproxImageResponseMessage<PreimageOperation<N,T,N2,T2> > > Realm::PreimageOperation< N, T, N2, T2 >::areg
staticprotected

◆ contrib_counts

template<int N, typename T , int N2, typename T2 >
std::vector<atomic<int> > Realm::PreimageOperation< N, T, N2, T2 >::contrib_counts
protected

◆ DIM

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

◆ DIM2

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

◆ domain_transform

template<int N, typename T , int N2, typename T2 >
DomainTransform<N2, T2, N, T> Realm::PreimageOperation< N, T, N2, T2 >::domain_transform
protected

◆ dummy_overlap_uop

template<int N, typename T , int N2, typename T2 >
AsyncMicroOp* Realm::PreimageOperation< N, T, N2, T2 >::dummy_overlap_uop
protected

◆ mutex

template<int N, typename T , int N2, typename T2 >
Mutex Realm::PreimageOperation< N, T, N2, T2 >::mutex
protected

◆ overlap_tester

template<int N, typename T , int N2, typename T2 >
OverlapTester<N2,T2>* Realm::PreimageOperation< N, T, N2, T2 >::overlap_tester
protected

◆ parent

template<int N, typename T , int N2, typename T2 >
IndexSpace<N, T> Realm::PreimageOperation< N, T, N2, T2 >::parent
protected

◆ pending_sparse_images

template<int N, typename T , int N2, typename T2 >
std::map<int, std::vector<Rect<N2,T2> > > Realm::PreimageOperation< N, T, N2, T2 >::pending_sparse_images
protected

◆ preimages

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

◆ remaining_sparse_images

template<int N, typename T , int N2, typename T2 >
atomic<int> Realm::PreimageOperation< N, T, N2, T2 >::remaining_sparse_images
protected

◆ targets

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

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