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

#include <proc_impl.h>

Inheritance diagram for Realm::ProcessorImpl:
Collaboration diagram for Realm::ProcessorImpl:

Classes

struct  DeferredSpawnCache
 

Public Member Functions

 ProcessorImpl (RuntimeImpl *runtime_impl, Processor _me, Processor::Kind _kind, int _num_cores=1)
 
virtual ~ProcessorImpl (void)
 
virtual void enqueue_task (Task *task)=0
 
virtual void enqueue_tasks (Task::TaskList &tasks, size_t num_tasks)=0
 
virtual void spawn_task (Processor::TaskFuncID func_id, const void *args, size_t arglen, const ProfilingRequestSet &reqs, Event start_event, GenEventImpl *finish_event, EventImpl::gen_t finish_gen, int priority)=0
 
virtual void start_threads (void)
 
virtual void shutdown (void)
 
virtual void add_to_group (ProcessorGroupImpl *group)=0
 
virtual void remove_from_group (ProcessorGroupImpl *group)=0
 
virtual bool register_task (Processor::TaskFuncID func_id, CodeDescriptor &codedesc, const ByteArrayRef &user_data)
 
virtual void add_internal_task (InternalTask *task)
 
GenEventImplcreate_genevent ()
 
void free_genevent (GenEventImpl *)
 

Static Public Member Functions

static Processor::Kind get_processor_kind (RuntimeImpl *runtime_impl, Processor processor)
 

Public Attributes

Processor me
 
Processor::Kind kind
 
int num_cores
 

Protected Member Functions

virtual void execute_task (Processor::TaskFuncID func_id, const ByteArrayRef &task_args)
 
void enqueue_or_defer_task (Task *task, Event start_event, DeferredSpawnCache *cache)
 

Protected Attributes

LocalEventTableAllocator::FreeList free_local_events
 

Friends

class Task
 

Constructor & Destructor Documentation

◆ ProcessorImpl()

Realm::ProcessorImpl::ProcessorImpl ( RuntimeImpl runtime_impl,
Processor  _me,
Processor::Kind  _kind,
int  _num_cores = 1 
)

◆ ~ProcessorImpl()

virtual Realm::ProcessorImpl::~ProcessorImpl ( void  )
virtual

Member Function Documentation

◆ add_internal_task()

virtual void Realm::ProcessorImpl::add_internal_task ( InternalTask task)
virtual

Reimplemented in Realm::LocalTaskProcessor.

◆ add_to_group()

virtual void Realm::ProcessorImpl::add_to_group ( ProcessorGroupImpl group)
pure virtual

◆ create_genevent()

GenEventImpl * Realm::ProcessorImpl::create_genevent ( )

◆ enqueue_or_defer_task()

void Realm::ProcessorImpl::enqueue_or_defer_task ( Task task,
Event  start_event,
DeferredSpawnCache cache 
)
protected

◆ enqueue_task()

virtual void Realm::ProcessorImpl::enqueue_task ( Task task)
pure virtual

◆ enqueue_tasks()

virtual void Realm::ProcessorImpl::enqueue_tasks ( Task::TaskList tasks,
size_t  num_tasks 
)
pure virtual

◆ execute_task()

virtual void Realm::ProcessorImpl::execute_task ( Processor::TaskFuncID  func_id,
const ByteArrayRef task_args 
)
protectedvirtual

◆ free_genevent()

void Realm::ProcessorImpl::free_genevent ( GenEventImpl )

◆ get_processor_kind()

static Processor::Kind Realm::ProcessorImpl::get_processor_kind ( RuntimeImpl runtime_impl,
Processor  processor 
)
static

◆ register_task()

virtual bool Realm::ProcessorImpl::register_task ( Processor::TaskFuncID  func_id,
CodeDescriptor codedesc,
const ByteArrayRef user_data 
)
virtual

◆ remove_from_group()

virtual void Realm::ProcessorImpl::remove_from_group ( ProcessorGroupImpl group)
pure virtual

◆ shutdown()

virtual void Realm::ProcessorImpl::shutdown ( void  )
virtual

◆ spawn_task()

virtual void Realm::ProcessorImpl::spawn_task ( Processor::TaskFuncID  func_id,
const void *  args,
size_t  arglen,
const ProfilingRequestSet reqs,
Event  start_event,
GenEventImpl finish_event,
EventImpl::gen_t  finish_gen,
int  priority 
)
pure virtual

◆ start_threads()

virtual void Realm::ProcessorImpl::start_threads ( void  )
virtual

Friends And Related Symbol Documentation

◆ Task

friend class Task
friend

Member Data Documentation

◆ free_local_events

LocalEventTableAllocator::FreeList Realm::ProcessorImpl::free_local_events
protected

◆ kind

Processor::Kind Realm::ProcessorImpl::kind

◆ me

Processor Realm::ProcessorImpl::me

◆ num_cores

int Realm::ProcessorImpl::num_cores

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