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

#include <python_internal.h>

Inheritance diagram for Realm::LocalPythonProcessor:
Collaboration diagram for Realm::LocalPythonProcessor:

Classes

class  TaskRegistration
 
struct  TaskTableEntry
 

Public Member Functions

 LocalPythonProcessor (RuntimeImpl *runtime_impl, Processor _me, int _numa_node, CoreReservationSet &crs, size_t _stack_size, const std::vector< std::string > &_import_modules, const std::vector< std::string > &_init_scripts)
 
virtual ~LocalPythonProcessor (void)
 
virtual void enqueue_task (Task *task)
 
virtual void enqueue_tasks (Task::TaskList &tasks, size_t num_tasks)
 
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)
 
virtual void execute_task (Processor::TaskFuncID func_id, const ByteArrayRef &task_args)
 
virtual void start_threads (void)
 
virtual void shutdown (void)
 
virtual void add_to_group (ProcessorGroupImpl *group)
 
virtual void remove_from_group (ProcessorGroupImpl *group)
 
virtual bool register_task (Processor::TaskFuncID func_id, CodeDescriptor &codedesc, const ByteArrayRef &user_data)
 
- Public Member Functions inherited from Realm::ProcessorImpl
 ProcessorImpl (RuntimeImpl *runtime_impl, Processor _me, Processor::Kind _kind, int _num_cores=1)
 
virtual ~ProcessorImpl (void)
 
virtual void add_internal_task (InternalTask *task)
 
GenEventImplcreate_genevent ()
 
void free_genevent (GenEventImpl *)
 

Protected Member Functions

void create_interpreter (void)
 
void destroy_interpreter (void)
 
bool perform_task_registration (TaskRegistration *treg)
 
- Protected Member Functions inherited from Realm::ProcessorImpl
void enqueue_or_defer_task (Task *task, Event start_event, DeferredSpawnCache *cache)
 

Protected Attributes

int numa_node
 
CoreReservationcore_rsrv
 
const std::vector< std::string > & import_modules
 
const std::vector< std::string > & init_scripts
 
PythonThreadTaskSchedulersched
 
PythonInterpreterinterpreter
 
PyThreadStatemaster_thread
 
std::map< Processor::TaskFuncID, TaskTableEntrytask_table
 
TaskQueue task_queue
 
ProfilingGauges::AbsoluteRangeGauge< int > ready_task_count
 
DeferredSpawnCache deferred_spawn_cache
 
- Protected Attributes inherited from Realm::ProcessorImpl
LocalEventTableAllocator::FreeList free_local_events
 

Friends

class PythonThreadTaskScheduler
 

Additional Inherited Members

- Static Public Member Functions inherited from Realm::ProcessorImpl
static Processor::Kind get_processor_kind (RuntimeImpl *runtime_impl, Processor processor)
 
- Public Attributes inherited from Realm::ProcessorImpl
Processor me
 
Processor::Kind kind
 
int num_cores
 

Constructor & Destructor Documentation

◆ LocalPythonProcessor()

Realm::LocalPythonProcessor::LocalPythonProcessor ( RuntimeImpl runtime_impl,
Processor  _me,
int  _numa_node,
CoreReservationSet crs,
size_t  _stack_size,
const std::vector< std::string > &  _import_modules,
const std::vector< std::string > &  _init_scripts 
)

◆ ~LocalPythonProcessor()

virtual Realm::LocalPythonProcessor::~LocalPythonProcessor ( void  )
virtual

Member Function Documentation

◆ add_to_group()

virtual void Realm::LocalPythonProcessor::add_to_group ( ProcessorGroupImpl group)
virtual

Implements Realm::ProcessorImpl.

◆ create_interpreter()

void Realm::LocalPythonProcessor::create_interpreter ( void  )
protected

◆ destroy_interpreter()

void Realm::LocalPythonProcessor::destroy_interpreter ( void  )
protected

◆ enqueue_task()

virtual void Realm::LocalPythonProcessor::enqueue_task ( Task task)
virtual

Implements Realm::ProcessorImpl.

◆ enqueue_tasks()

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

Implements Realm::ProcessorImpl.

◆ execute_task()

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

Reimplemented from Realm::ProcessorImpl.

◆ perform_task_registration()

bool Realm::LocalPythonProcessor::perform_task_registration ( TaskRegistration treg)
protected

◆ register_task()

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

Reimplemented from Realm::ProcessorImpl.

◆ remove_from_group()

virtual void Realm::LocalPythonProcessor::remove_from_group ( ProcessorGroupImpl group)
virtual

Implements Realm::ProcessorImpl.

◆ shutdown()

virtual void Realm::LocalPythonProcessor::shutdown ( void  )
virtual

Reimplemented from Realm::ProcessorImpl.

◆ spawn_task()

virtual void Realm::LocalPythonProcessor::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 
)
virtual

Implements Realm::ProcessorImpl.

◆ start_threads()

virtual void Realm::LocalPythonProcessor::start_threads ( void  )
virtual

Reimplemented from Realm::ProcessorImpl.

Friends And Related Symbol Documentation

◆ PythonThreadTaskScheduler

friend class PythonThreadTaskScheduler
friend

Member Data Documentation

◆ core_rsrv

CoreReservation* Realm::LocalPythonProcessor::core_rsrv
protected

◆ deferred_spawn_cache

DeferredSpawnCache Realm::LocalPythonProcessor::deferred_spawn_cache
protected

◆ import_modules

const std::vector<std::string>& Realm::LocalPythonProcessor::import_modules
protected

◆ init_scripts

const std::vector<std::string>& Realm::LocalPythonProcessor::init_scripts
protected

◆ interpreter

PythonInterpreter* Realm::LocalPythonProcessor::interpreter
protected

◆ master_thread

PyThreadState* Realm::LocalPythonProcessor::master_thread
protected

◆ numa_node

int Realm::LocalPythonProcessor::numa_node
protected

◆ ready_task_count

ProfilingGauges::AbsoluteRangeGauge<int> Realm::LocalPythonProcessor::ready_task_count
protected

◆ sched

PythonThreadTaskScheduler* Realm::LocalPythonProcessor::sched
protected

◆ task_queue

TaskQueue Realm::LocalPythonProcessor::task_queue
protected

◆ task_table

std::map<Processor::TaskFuncID, TaskTableEntry> Realm::LocalPythonProcessor::task_table
protected

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