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

#include <processor.h>

Inheritance diagram for Realm::ProcessorGroup:
Collaboration diagram for Realm::ProcessorGroup:

Public Member Functions

void destroy (Event wait_on=Event::NO_EVENT) 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 ProcessorGroup create_group (const Processor *members, size_t num_members)
 
static ProcessorGroup create_group (const span< const Processor > &members)
 
- 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 ProcessorGroup NO_PROC_GROUP
 
- Static Public Attributes inherited from Realm::Processor
static const Processor NO_PROC
 

Additional Inherited Members

- 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 Attributes inherited from Realm::Processor
id_t id {REALM_NO_PROC}
 

Member Function Documentation

◆ create_group() [1/2]

static ProcessorGroup Realm::ProcessorGroup::create_group ( const Processor members,
size_t  num_members 
)
static

◆ create_group() [2/2]

static ProcessorGroup Realm::ProcessorGroup::create_group ( const span< const Processor > &  members)
inlinestatic

Creates a group with members as the members of the groups. members will also (efficiently) accept a std::vector.

◆ destroy()

void Realm::ProcessorGroup::destroy ( Event  wait_on = Event::NO_EVENT) const

Member Data Documentation

◆ NO_PROC_GROUP

const ProcessorGroup Realm::ProcessorGroup::NO_PROC_GROUP
static

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