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

#include <prealm.h>

Inheritance diagram for PRealm::Machine:
Collaboration diagram for PRealm::Machine:

Public Member Functions

 Machine (const Realm::Machine &m)
 
 Machine (const Machine &m)=default
 
 Machine (Machine &&m)=default
 
Machineoperator= (const Realm::Machine &m)
 
Machineoperator= (const Machine &m)=default
 
Machineoperator= (Machine &&m)=default
 
void get_all_processors (std::set< Processor > &pset) const
 
void get_local_processors (std::set< Processor > &pset) const
 
void get_local_processors_by_kind (std::set< Processor > &pset, Processor::Kind kind) const
 
void get_shared_processors (Memory m, std::set< Processor > &pset, bool local_only=true) const
 
- Public Member Functions inherited from Realm::Machine
 Machine (const Machine &m)
 
Machineoperator= (const Machine &m)
 
 ~Machine (void)
 
bool has_affinity (Processor p, Memory m, AffinityDetails *details=0) const
 
bool has_affinity (Memory m1, Memory m2, AffinityDetails *details=0) const
 
void get_all_memories (std::set< Memory > &mset) const
 
void get_all_processors (std::set< Processor > &pset) const
 
void get_local_processors (std::set< Processor > &pset) const
 
void get_local_processors_by_kind (std::set< Processor > &pset, Processor::Kind kind) const
 
void get_visible_memories (Processor p, std::set< Memory > &mset, bool local_only=true) const
 
void get_visible_memories (Memory m, std::set< Memory > &mset, bool local_only=true) const
 
void get_shared_processors (Memory m, std::set< Processor > &pset, bool local_only=true) const
 
size_t get_address_space_count (void) const
 
bool get_process_info (Processor p, ProcessInfo *info) const
 
int get_proc_mem_affinity (std::vector< ProcessorMemoryAffinity > &result, Processor restrict_proc=Processor::NO_PROC, Memory restrict_memory=Memory::NO_MEMORY, bool local_only=true) const
 
int get_mem_mem_affinity (std::vector< MemoryMemoryAffinity > &result, Memory restrict_mem1=Memory::NO_MEMORY, Memory restrict_mem2=Memory::NO_MEMORY, bool local_only=true) const
 
void add_subscription (MachineUpdateSubscriber *subscriber)
 
void add_subscription (MachineUpdateSubscriber *subscriber, const ProcessorQuery &query)
 
void add_subscription (MachineUpdateSubscriber *subscriber, const MemoryQuery &query)
 
void remove_subscription (MachineUpdateSubscriber *subscriber)
 
 ProcessorQuery (const Machine &m)
 
 ProcessorQuery (const ProcessorQuery &q)
 
 ~ProcessorQuery (void)
 
ProcessorQueryoperator= (const ProcessorQuery &q)
 
bool operator== (const ProcessorQuery &compare_to) const
 
bool operator!= (const ProcessorQuery &compare_to) const
 
ProcessorQueryonly_kind (Processor::Kind kind)
 
ProcessorQuerylocal_address_space (void)
 
ProcessorQuerysame_address_space_as (Processor p)
 
ProcessorQuerysame_address_space_as (Memory m)
 
ProcessorQueryhas_affinity_to (Memory m, unsigned min_bandwidth=0, unsigned max_latency=0)
 
ProcessorQuerybest_affinity_to (Memory m, int bandwidth_weight=1, int latency_weight=0)
 
size_t count (void) const
 
Processor first (void) const
 
Processor next (Processor after) const
 
Processor random (void) const
 
iterator begin (void) const
 
iterator end (void) const
 
 MemoryQuery (const Machine &m)
 
 MemoryQuery (const MemoryQuery &q)
 
 ~MemoryQuery (void)
 
MemoryQueryoperator= (const MemoryQuery &q)
 
bool operator== (const MemoryQuery &compare_to) const
 
bool operator!= (const MemoryQuery &compare_to) const
 
MemoryQueryonly_kind (Memory::Kind kind)
 
MemoryQuerylocal_address_space (void)
 
MemoryQuerysame_address_space_as (Processor p)
 
MemoryQuerysame_address_space_as (Memory m)
 
MemoryQueryhas_affinity_to (Processor p, unsigned min_bandwidth=0, unsigned max_latency=0)
 
MemoryQueryhas_affinity_to (Memory m, unsigned min_bandwidth=0, unsigned max_latency=0)
 
MemoryQuerybest_affinity_to (Processor p, int bandwidth_weight=1, int latency_weight=0)
 
MemoryQuerybest_affinity_to (Memory m, int bandwidth_weight=1, int latency_weight=0)
 
MemoryQueryhas_capacity (size_t min_bytes)
 
size_t count (void) const
 
Memory first (void) const
 
Memory next (Memory after) const
 
Memory random (void) const
 
iterator begin (void) const
 
iterator end (void) const
 

Static Public Member Functions

static Machine get_machine (void)
 
- Static Public Member Functions inherited from Realm::Machine
static Machine get_machine (void)
 

Additional Inherited Members

- Public Types inherited from Realm::Machine
typedef realm_affinity_details_t AffinityDetails
 
typedef MachineQueryIterator< ProcessorQuery, Processoriterator
 
typedef MachineQueryIterator< MemoryQuery, Memoryiterator
 
- Public Attributes inherited from Realm::Machine
void * impl
 
- Protected Member Functions inherited from Realm::Machine
 Machine (void *_impl)
 

Constructor & Destructor Documentation

◆ Machine() [1/3]

PRealm::Machine::Machine ( const Realm::Machine m)
inline

◆ Machine() [2/3]

PRealm::Machine::Machine ( const Machine m)
default

◆ Machine() [3/3]

PRealm::Machine::Machine ( Machine &&  m)
default

Member Function Documentation

◆ get_all_processors()

void PRealm::Machine::get_all_processors ( std::set< Processor > &  pset) const

◆ get_local_processors()

void PRealm::Machine::get_local_processors ( std::set< Processor > &  pset) const

◆ get_local_processors_by_kind()

void PRealm::Machine::get_local_processors_by_kind ( std::set< Processor > &  pset,
Processor::Kind  kind 
) const

◆ get_machine()

static Machine PRealm::Machine::get_machine ( void  )
static

◆ get_shared_processors()

void PRealm::Machine::get_shared_processors ( Memory  m,
std::set< Processor > &  pset,
bool  local_only = true 
) const

◆ operator=() [1/3]

Machine & PRealm::Machine::operator= ( const Machine m)
default

◆ operator=() [2/3]

Machine & PRealm::Machine::operator= ( const Realm::Machine m)
inline

◆ operator=() [3/3]

Machine & PRealm::Machine::operator= ( Machine &&  m)
default

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