Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::PartitioningOperation Class Referenceabstract

#include <partitions.h>

Inheritance diagram for Realm::PartitioningOperation:
Collaboration diagram for Realm::PartitioningOperation:

Classes

class  DeferredLaunch
 

Public Types

typedef IntrusiveList< PartitioningOperation, REALM_PMTA_USE(PartitioningOperation, op_link), DummyLockOpList
 

Public Member Functions

 PartitioningOperation (const ProfilingRequestSet &reqs, GenEventImpl *_finish_event, EventImpl::gen_t _finish_gen)
 
virtual void execute (void)=0
 
virtual void set_overlap_tester (void *tester)
 
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
 
virtual void print (std::ostream &os) const =0
 
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 Member Functions

static void do_inline_profiling (const ProfilingRequestSet &reqs, long long inline_start_time)
 

Public Attributes

IntrusiveListLink< PartitioningOperationop_link
 
DeferredLaunch deferred_launch
 

Additional Inherited Members

- 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)
 
- 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
 

Member Typedef Documentation

◆ OpList

Constructor & Destructor Documentation

◆ PartitioningOperation()

Realm::PartitioningOperation::PartitioningOperation ( const ProfilingRequestSet reqs,
GenEventImpl _finish_event,
EventImpl::gen_t  _finish_gen 
)

Member Function Documentation

◆ do_inline_profiling()

static void Realm::PartitioningOperation::do_inline_profiling ( const ProfilingRequestSet reqs,
long long  inline_start_time 
)
static

◆ execute()

◆ launch()

void Realm::PartitioningOperation::launch ( Event  wait_for)

◆ REALM_PMTA_DEFN()

Realm::PartitioningOperation::REALM_PMTA_DEFN ( PartitioningOperation  ,
IntrusiveListLink< PartitioningOperation ,
op_link   
)

◆ set_overlap_tester()

virtual void Realm::PartitioningOperation::set_overlap_tester ( void *  tester)
virtual

Member Data Documentation

◆ deferred_launch

DeferredLaunch Realm::PartitioningOperation::deferred_launch

◆ op_link

IntrusiveListLink<PartitioningOperation> Realm::PartitioningOperation::op_link

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