10 #ifndef HWLOC_MEMATTR_H
11 #define HWLOC_MEMATTR_H
197 unsigned long flags);
215 hwloc_uint64_t *value);
293 unsigned long *flags);
343 hwloc_uint64_t value);
380 unsigned *nrp, hwloc_obj_t *targets, hwloc_uint64_t *values);
416 unsigned *nr, struct hwloc_location *initiators, hwloc_uint64_t *values);
int hwloc_memattr_get_by_name(hwloc_topology_t topology, const char *name, hwloc_memattr_id_t *id) Return the identifier of the memory attribute with the given name.
@ HWLOC_LOCAL_NUMANODE_FLAG_ALL Select all NUMA nodes in the topology. initiator is ignored. Definition: memattrs.h:160
@ HWLOC_LOCAL_NUMANODE_FLAG_SMALLER_LOCALITY Select NUMA nodes whose locality is smaller than the given cpuset. For instance, if a package (or its... Definition: memattrs.h:155
int hwloc_memattr_register(hwloc_topology_t topology, const char *name, unsigned long flags, hwloc_memattr_id_t *id) Register a new memory attribute.
Actual location. Definition: memattrs.h:134
int hwloc_get_local_numanode_objs(hwloc_topology_t topology, struct hwloc_location *location, unsigned *nr, hwloc_obj_t *nodes, unsigned long flags) Return an array of local NUMA nodes.
struct hwloc_topology * hwloc_topology_t Topology context. Definition: hwloc.h:691
hwloc_obj_t object Location as an object, when the location type is HWLOC_LOCATION_TYPE_OBJECT. Definition: memattrs.h:136
hwloc_location_type_e Type of location. Definition: memattrs.h:127
@ HWLOC_LOCATION_TYPE_CPUSET Location is given as an cpuset, in the location cpuset union field. Definition: memattrs.h:131
@ HWLOC_MEMATTR_ID_LATENCY "Latency". The latency is returned as nanoseconds, as seen from the given initiator location.... Definition: memattrs.h:106
hwloc_bitmap_t hwloc_cpuset_t A CPU set is a bitmap whose bits are set according to CPU physical OS indexes. Definition: hwloc.h:140
@ HWLOC_MEMATTR_FLAG_NEED_INITIATOR The value returned for this memory attribute depends on the given initiator. For instance Bandwidth a... Definition: memattrs.h:310
enum hwloc_location::hwloc_location_type_e type
@ HWLOC_MEMATTR_FLAG_LOWER_FIRST The best nodes for this memory attribute are those with the lower values. For instance Latency. Definition: memattrs.h:306
@ HWLOC_MEMATTR_ID_BANDWIDTH "Bandwidth". The bandwidth is returned in MiB/s, as seen from the given initiator location.... Definition: memattrs.h:98
Where to measure attributes from. Definition: memattrs.h:125
hwloc_cpuset_t cpuset Location as a cpuset, when the location type is HWLOC_LOCATION_TYPE_CPUSET. Definition: memattrs.h:138
int hwloc_memattr_get_targets(hwloc_topology_t topology, hwloc_memattr_id_t attribute, struct hwloc_location *initiator, unsigned long flags, unsigned *nrp, hwloc_obj_t *targets, hwloc_uint64_t *values) Return the target NUMA nodes that have some values for a given attribute.
@ HWLOC_LOCAL_NUMANODE_FLAG_LARGER_LOCALITY Select NUMA nodes whose locality is larger than the given cpuset. For instance, if a single PU (or it... Definition: memattrs.h:149
@ HWLOC_MEMATTR_FLAG_HIGHER_FIRST The best nodes for this memory attribute are those with the higher values. For instance Bandwidth. Definition: memattrs.h:302
hwloc_local_numanode_flag_e Flags for selecting target NUMA nodes. Definition: memattrs.h:144
hwloc_memattr_flag_e Memory attribute flags. Given to hwloc_memattr_register() and returned by hwloc_memattr_get_flags(). Definition: memattrs.h:298
int hwloc_memattr_get_best_target(hwloc_topology_t topology, hwloc_memattr_id_t attribute, struct hwloc_location *initiator, unsigned long flags, hwloc_obj_t *best_target, hwloc_uint64_t *value) Return the best target NUMA node for the given attribute and initiator.
int hwloc_memattr_get_best_initiator(hwloc_topology_t topology, hwloc_memattr_id_t attribute, hwloc_obj_t target, unsigned long flags, struct hwloc_location *best_initiator, hwloc_uint64_t *value) Return the best initiator for the given attribute and target NUMA node.
union hwloc_location::hwloc_location_u location
hwloc_memattr_id_e Memory node attributes. Definition: memattrs.h:66
int hwloc_memattr_get_flags(hwloc_topology_t topology, hwloc_memattr_id_t attribute, unsigned long *flags) Return the flags of the given attribute.
int hwloc_memattr_get_value(hwloc_topology_t topology, hwloc_memattr_id_t attribute, hwloc_obj_t target_node, struct hwloc_location *initiator, unsigned long flags, hwloc_uint64_t *value) Return an attribute value for a specific target NUMA node.
@ HWLOC_LOCATION_TYPE_OBJECT Location is given as an object, in the location object union field. Definition: memattrs.h:129
int hwloc_memattr_get_name(hwloc_topology_t topology, hwloc_memattr_id_t attribute, const char **name) Return the name of a memory attribute.
@ HWLOC_MEMATTR_ID_LOCALITY "Locality". The locality is returned as the number of PUs in that locality (e.g. the weight of its cp... Definition: memattrs.h:90
int hwloc_memattr_get_initiators(hwloc_topology_t topology, hwloc_memattr_id_t attribute, hwloc_obj_t target_node, unsigned long flags, unsigned *nr, struct hwloc_location *initiators, hwloc_uint64_t *values) Return the initiators that have values for a given attribute for a specific target NUMA node.
unsigned hwloc_memattr_id_t A memory attribute identifier. May be either one of hwloc_memattr_id_e or a new id returned by hwloc_... Definition: memattrs.h:114
Structure of a topology object. Definition: hwloc.h:395
@ HWLOC_MEMATTR_ID_CAPACITY "Capacity". The capacity is returned in bytes (local_memory attribute in objects). Definition: memattrs.h:76
int hwloc_memattr_set_value(hwloc_topology_t topology, hwloc_memattr_id_t attribute, hwloc_obj_t target_node, struct hwloc_location *initiator, unsigned long flags, hwloc_uint64_t value) Set an attribute value for a specific target NUMA node.
|