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

#include <prealm.h>

Inheritance diagram for PRealm::Processor:
Collaboration diagram for PRealm::Processor:

Public Types

enum  { TASK_ID_PROCESSOR_NOP = Realm::Processor::TASK_ID_PROCESSOR_NOP , TASK_ID_PROCESSOR_INIT = Realm::Processor::TASK_ID_PROCESSOR_INIT , TASK_ID_PROCESSOR_SHUTDOWN = Realm::Processor::TASK_ID_PROCESSOR_SHUTDOWN , TASK_ID_FIRST_AVAILABLE = Realm::Processor::TASK_ID_FIRST_AVAILABLE + 5 }
 
typedef void(* TaskFuncPtr) (const void *args, size_t arglen, const void *user_data, size_t user_data_len, Processor proc)
 
- Public Types inherited from Realm::Processor
enum  Kind
 
enum  { TASK_ID_PROCESSOR_NOP = REALM_TASK_ID_PROCESSOR_NOP , TASK_ID_PROCESSOR_INIT = REALM_TASK_ID_PROCESSOR_INIT , TASK_ID_PROCESSOR_SHUTDOWN = REALM_TASK_ID_PROCESSOR_SHUTDOWN , TASK_ID_FIRST_AVAILABLE = REALM_TASK_ID_FIRST_AVAILABLE }
 
typedef ::realm_id_t id_t
 
typedef ::realm_task_func_id_t TaskFuncID
 
typedef void(* TaskFuncPtr) (const void *args, size_t arglen, const void *user_data, size_t user_data_len, Processor proc)
 

Public Member Functions

 Processor (void)
 
 Processor (::realm_id_t i)
 
 Processor (Realm::Processor p)
 
 Processor (const Processor &p)=default
 
 Processor (Processor &&p)=default
 
Processoroperator= (Realm::Processor p)
 
Processoroperator= (const Processor &p)=default
 
Processoroperator= (Processor &&p)=default
 
Event spawn (TaskFuncID func_id, const void *args, size_t arglen, Event wait_on=Event::NO_EVENT, int priority=0) const
 
Event spawn (TaskFuncID func_id, const void *args, size_t arglen, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
 
Event register_task (TaskFuncID func_id, const CodeDescriptor &codedesc, const ProfilingRequestSet &prs, const void *user_data=0, size_t user_data_len=0) const
 
- Public Member Functions inherited from Realm::Processor
 Processor ()=default
 
constexpr Processor (id_t id)
 
constexpr operator id_t () const
 
bool operator< (const Processor &rhs) const
 
bool operator== (const Processor &rhs) const
 
bool operator!= (const Processor &rhs) const
 
bool exists (void) const
 
Kind kind (void) const
 
AddressSpace address_space (void) const
 
 REALM_ATTR_DEPRECATED ("use ProcessorGroup::create_group instead", static Processor create_group(const span< const Processor > &members))
 
void get_group_members (Processor *member_list, size_t &num_members) const
 
void get_group_members (std::vector< Processor > &member_list) const
 
int get_num_cores (void) const
 
Event spawn (TaskFuncID func_id, const void *args, size_t arglen, Event wait_on=Event::NO_EVENT, int priority=0) const
 
Event spawn (TaskFuncID func_id, const void *args, size_t arglen, const ProfilingRequestSet &requests, Event wait_on=Event::NO_EVENT, int priority=0) const
 
Event register_task (TaskFuncID func_id, const CodeDescriptor &codedesc, const ProfilingRequestSet &prs, const void *user_data=0, size_t user_data_len=0) const
 
void report_processor_fault (int reason, const void *reason_data, size_t reason_size) const
 

Static Public Member Functions

static Event register_task_by_kind (Kind target_kind, bool global, TaskFuncID func_id, const CodeDescriptor &codedesc, const ProfilingRequestSet &prs, const void *user_data=0, size_t user_data_len=0)
 
- Static Public Member Functions inherited from Realm::Processor
static Processor get_executing_processor (void)
 
static void set_current_task_priority (int new_priority)
 
static Event get_current_finish_event (void)
 
static realm_status_t add_finish_event_precondition (Event precondition)
 
static void enable_scheduler_lock (void)
 
static void disable_scheduler_lock (void)
 
static Event register_task_by_kind (Kind target_kind, bool global, TaskFuncID func_id, const CodeDescriptor &codedesc, const ProfilingRequestSet &prs, const void *user_data=0, size_t user_data_len=0)
 
static void report_execution_fault (int reason, const void *reason_data, size_t reason_size)
 
static const char * get_kind_name (Kind kind)
 

Static Public Attributes

static const Processor NO_PROC
 
- Static Public Attributes inherited from Realm::Processor
static const Processor NO_PROC
 

Additional Inherited Members

- Public Attributes inherited from Realm::Processor
id_t id {REALM_NO_PROC}
 

Member Typedef Documentation

◆ TaskFuncPtr

typedef void(* PRealm::Processor::TaskFuncPtr) (const void *args, size_t arglen, const void *user_data, size_t user_data_len, Processor proc)

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
TASK_ID_PROCESSOR_NOP 
TASK_ID_PROCESSOR_INIT 
TASK_ID_PROCESSOR_SHUTDOWN 
TASK_ID_FIRST_AVAILABLE 

Constructor & Destructor Documentation

◆ Processor() [1/5]

PRealm::Processor::Processor ( void  )
inline

◆ Processor() [2/5]

PRealm::Processor::Processor ( ::realm_id_t  i)
inline

◆ Processor() [3/5]

PRealm::Processor::Processor ( Realm::Processor  p)
inline

◆ Processor() [4/5]

PRealm::Processor::Processor ( const Processor p)
default

◆ Processor() [5/5]

PRealm::Processor::Processor ( Processor &&  p)
default

Member Function Documentation

◆ operator=() [1/3]

Processor & PRealm::Processor::operator= ( const Processor p)
default

◆ operator=() [2/3]

Processor & PRealm::Processor::operator= ( Processor &&  p)
default

◆ operator=() [3/3]

Processor & PRealm::Processor::operator= ( Realm::Processor  p)
inline

◆ register_task()

Event PRealm::Processor::register_task ( TaskFuncID  func_id,
const CodeDescriptor codedesc,
const ProfilingRequestSet prs,
const void *  user_data = 0,
size_t  user_data_len = 0 
) const

◆ register_task_by_kind()

static Event PRealm::Processor::register_task_by_kind ( Kind  target_kind,
bool  global,
TaskFuncID  func_id,
const CodeDescriptor codedesc,
const ProfilingRequestSet prs,
const void *  user_data = 0,
size_t  user_data_len = 0 
)
static

◆ spawn() [1/2]

Event PRealm::Processor::spawn ( TaskFuncID  func_id,
const void *  args,
size_t  arglen,
const ProfilingRequestSet requests,
Event  wait_on = Event::NO_EVENT,
int  priority = 0 
) const

◆ spawn() [2/2]

Event PRealm::Processor::spawn ( TaskFuncID  func_id,
const void *  args,
size_t  arglen,
Event  wait_on = Event::NO_EVENT,
int  priority = 0 
) const

Member Data Documentation

◆ NO_PROC

const Processor PRealm::Processor::NO_PROC
static

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