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

#include <operation.h>

Inheritance diagram for Realm::Operation:
Collaboration diagram for Realm::Operation:

Classes

class  AsyncWorkItem
 

Public Member Functions

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)
 

Protected Types

typedef ProfilingMeasurements::OperationStatus Status
 

Protected Member Functions

 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

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
 

Friends

std::ostream & operator<< (std::ostream &os, Operation *op)
 

Member Typedef Documentation

◆ Status

Constructor & Destructor Documentation

◆ Operation()

Realm::Operation::Operation ( GenEventImpl _finish_event,
EventImpl::gen_t  _finish_gen,
const ProfilingRequestSet _requests 
)
protected

◆ ~Operation()

virtual Realm::Operation::~Operation ( void  )
protectedvirtual

Member Function Documentation

◆ add_async_work_item()

void Realm::Operation::add_async_work_item ( AsyncWorkItem item)

◆ add_finish_event_precondition()

void Realm::Operation::add_finish_event_precondition ( Event  precondition)

◆ add_gpu_work_end()

void Realm::Operation::add_gpu_work_end ( uint64_t  timestamp)

◆ add_gpu_work_start()

void Realm::Operation::add_gpu_work_start ( uint64_t  timestamp)

◆ add_reference()

void Realm::Operation::add_reference ( void  )

◆ attempt_cancellation()

virtual bool Realm::Operation::attempt_cancellation ( int  error_code,
const void *  reason_data,
size_t  reason_size 
)
virtual

Reimplemented in Realm::Task.

◆ cancellation_requested()

bool Realm::Operation::cancellation_requested ( void  ) const

◆ clear_profiling()

void Realm::Operation::clear_profiling ( void  )
protected

◆ create_wait_interval()

ProfilingMeasurements::OperationEventWaits::WaitInterval * Realm::Operation::create_wait_interval ( Event  e)

◆ get_finish_event()

Event Realm::Operation::get_finish_event ( void  ) const

◆ get_state()

virtual Status::Result Realm::Operation::get_state ( void  )
protectedvirtual

Reimplemented in Realm::Task.

◆ handle_poisoned_precondition()

virtual void Realm::Operation::handle_poisoned_precondition ( Event  pre)
virtual

◆ mark_completed()

virtual void Realm::Operation::mark_completed ( void  )
protectedvirtual

Reimplemented in Realm::Task, and Realm::TransferOperation.

◆ mark_finished()

virtual void Realm::Operation::mark_finished ( bool  successful)
virtual

◆ mark_gpu_work_start()

void Realm::Operation::mark_gpu_work_start ( )

◆ mark_ready()

virtual bool Realm::Operation::mark_ready ( void  )
virtual

Reimplemented in Realm::Task, and Realm::TransferOperation.

◆ mark_started()

virtual bool Realm::Operation::mark_started ( void  )
virtual

Reimplemented in Realm::Task, and Realm::TransferOperation.

◆ mark_terminated()

virtual void Realm::Operation::mark_terminated ( int  error_code,
const ByteArray details 
)
virtual

◆ print()

◆ reconstruct_measurements()

void Realm::Operation::reconstruct_measurements ( )
protected

◆ remove_reference()

void Realm::Operation::remove_reference ( void  )

◆ send_profiling_data()

void Realm::Operation::send_profiling_data ( void  )
protected

◆ set_priority()

virtual void Realm::Operation::set_priority ( int  new_priority)
virtual

Reimplemented in Realm::Task.

◆ trigger_finish_event()

void Realm::Operation::trigger_finish_event ( bool  poisoned)
protected

◆ wants_gpu_work_start()

bool Realm::Operation::wants_gpu_work_start ( ) const

◆ work_item_finished()

void Realm::Operation::work_item_finished ( AsyncWorkItem item,
bool  successful 
)
protected

Friends And Related Symbol Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
Operation op 
)
friend

Member Data Documentation

◆ all_work_items

atomic<AsyncWorkItem *> Realm::Operation::all_work_items
protected

◆ failed_work_items

atomic<int> Realm::Operation::failed_work_items
protected

◆ finish_event

GenEventImpl* Realm::Operation::finish_event
protected

◆ finish_gen

EventImpl::gen_t Realm::Operation::finish_gen
protected

◆ measurements

ProfilingMeasurementCollection Realm::Operation::measurements
protected

◆ pending_work_items

atomic<int> Realm::Operation::pending_work_items
protected

◆ refcount

atomic<int> Realm::Operation::refcount
protected

◆ requests

ProfilingRequestSet Realm::Operation::requests
protected

◆ state

atomic<Status::Result> Realm::Operation::state
protected

◆ status

ProfilingMeasurements::OperationStatus Realm::Operation::status
protected

◆ timeline

ProfilingMeasurements::OperationTimeline Realm::Operation::timeline
protected

◆ timeline_gpu

ProfilingMeasurements::OperationTimelineGPU Realm::Operation::timeline_gpu
protected

◆ waits

ProfilingMeasurements::OperationEventWaits Realm::Operation::waits
protected

◆ wants_event_waits

bool Realm::Operation::wants_event_waits
protected

◆ wants_gpu_timeline

bool Realm::Operation::wants_gpu_timeline
protected

◆ wants_timeline

bool Realm::Operation::wants_timeline
protected

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