Data Structures |
struct | hwloc_obj_memory_s |
| Object memory. More...
|
struct | hwloc_obj_memory_s::hwloc_obj_memory_page_type_s |
| Array of local memory page types, NULL if no local memory and page_types is 0. More...
|
struct | hwloc_obj |
| Structure of a topology object. More...
|
union | hwloc_obj_attr_u |
| Object type-specific Attributes. More...
|
struct | hwloc_obj_attr_u::hwloc_cache_attr_s |
| Cache-specific Object Attributes. More...
|
struct | hwloc_obj_attr_u::hwloc_group_attr_s |
| Group-specific Object Attributes. More...
|
struct | hwloc_obj_info_s |
| Object info. More...
|
struct | hwloc_topology_discovery_support |
| Flags describing actual discovery support for this topology. More...
|
struct | hwloc_topology_cpubind_support |
| Flags describing actual PU binding support for this topology. More...
|
struct | hwloc_topology_membind_support |
| Flags describing actual memory binding support for this topology. More...
|
struct | hwloc_topology_support |
| Set of flags describing actual support for this topology. More...
|
Defines |
#define | HWLOC_API_VERSION 0x00010100 |
| Indicate at build time which hwloc API version is being used.
|
Typedefs |
typedef struct hwloc_topology * | hwloc_topology_t |
| Topology context.
|
typedef hwloc_bitmap_t | hwloc_cpuset_t |
| A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.
|
typedef hwloc_const_bitmap_t | hwloc_const_cpuset_t |
| A non-modifiable hwloc_cpuset_t.
|
typedef hwloc_bitmap_t | hwloc_nodeset_t |
| A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes.
|
typedef hwloc_const_bitmap_t | hwloc_const_nodeset_t |
| A non-modifiable hwloc_nodeset_t.
|
typedef struct hwloc_obj * | hwloc_obj_t |
| Convenience typedef; a pointer to a struct hwloc_obj.
|
Enumerations |
enum | hwloc_obj_type_t {
HWLOC_OBJ_SYSTEM,
HWLOC_OBJ_MACHINE,
HWLOC_OBJ_NODE,
HWLOC_OBJ_SOCKET,
HWLOC_OBJ_CACHE,
HWLOC_OBJ_CORE,
HWLOC_OBJ_PU,
HWLOC_OBJ_GROUP,
HWLOC_OBJ_MISC
} |
| Type of topology object.
More...
|
enum | hwloc_compare_types_e { HWLOC_TYPE_UNORDERED
} |
enum | hwloc_topology_flags_e { HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM,
HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM
} |
| Flags to be set onto a topology context before load.
More...
|
enum | hwloc_get_type_depth_e { HWLOC_TYPE_DEPTH_UNKNOWN,
HWLOC_TYPE_DEPTH_MULTIPLE
} |
enum | hwloc_cpubind_flags_t { HWLOC_CPUBIND_PROCESS,
HWLOC_CPUBIND_THREAD,
HWLOC_CPUBIND_STRICT,
HWLOC_CPUBIND_NOMEMBIND
} |
| Process/Thread binding flags.
More...
|
enum | hwloc_membind_policy_t {
HWLOC_MEMBIND_DEFAULT,
HWLOC_MEMBIND_FIRSTTOUCH,
HWLOC_MEMBIND_BIND,
HWLOC_MEMBIND_INTERLEAVE,
HWLOC_MEMBIND_REPLICATE,
HWLOC_MEMBIND_NEXTTOUCH,
HWLOC_MEMBIND_MIXED
} |
| Memory binding policy.
More...
|
enum | hwloc_membind_flags_t {
HWLOC_MEMBIND_PROCESS,
HWLOC_MEMBIND_THREAD,
HWLOC_MEMBIND_STRICT,
HWLOC_MEMBIND_MIGRATE,
HWLOC_MEMBIND_NOCPUBIND
} |
| Memory binding flags.
More...
|
Functions |
unsigned | hwloc_get_api_version (void) |
| Indicate at runtime which hwloc API version was used at build time.
|
int | hwloc_compare_types (hwloc_obj_type_t type1, hwloc_obj_type_t type2) |
| Compare the depth of two object types.
|
int | hwloc_topology_init (hwloc_topology_t *topologyp) |
| Allocate a topology context.
|
int | hwloc_topology_load (hwloc_topology_t topology) |
| Build the actual topology.
|
void | hwloc_topology_destroy (hwloc_topology_t topology) |
| Terminate and free a topology context.
|
void | hwloc_topology_check (hwloc_topology_t topology) |
| Run internal checks on a topology structure.
|
int | hwloc_topology_ignore_type (hwloc_topology_t topology, hwloc_obj_type_t type) |
| Ignore an object type.
|
int | hwloc_topology_ignore_type_keep_structure (hwloc_topology_t topology, hwloc_obj_type_t type) |
| Ignore an object type if it does not bring any structure.
|
int | hwloc_topology_ignore_all_keep_structure (hwloc_topology_t topology) |
| Ignore all objects that do not bring any structure.
|
int | hwloc_topology_set_flags (hwloc_topology_t topology, unsigned long flags) |
| Set OR'ed flags to non-yet-loaded topology.
|
int | hwloc_topology_set_fsroot (hwloc_topology_t restrict topology, const char *restrict fsroot_path) |
| Change the file-system root path when building the topology from sysfs/procfs.
|
int | hwloc_topology_set_pid (hwloc_topology_t restrict topology, hwloc_pid_t pid) |
| Change which pid the topology is viewed from.
|
int | hwloc_topology_set_synthetic (hwloc_topology_t restrict topology, const char *restrict description) |
| Enable synthetic topology.
|
int | hwloc_topology_set_xml (hwloc_topology_t restrict topology, const char *restrict xmlpath) |
| Enable XML-file based topology.
|
int | hwloc_topology_set_xmlbuffer (hwloc_topology_t restrict topology, const char *restrict buffer, int size) |
| Enable XML based topology using a memory buffer instead of a file.
|
struct
hwloc_topology_support * | hwloc_topology_get_support (hwloc_topology_t restrict topology) |
| Retrieve the topology support.
|
void | hwloc_topology_export_xml (hwloc_topology_t topology, const char *xmlpath) |
| Export the topology into an XML file.
|
void | hwloc_topology_export_xmlbuffer (hwloc_topology_t topology, char **xmlbuffer, int *buflen) |
| Export the topology into a newly-allocated XML memory buffer.
|
hwloc_obj_t | hwloc_topology_insert_misc_object_by_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, const char *name) |
| Add a MISC object to the topology.
|
hwloc_obj_t | hwloc_topology_insert_misc_object_by_parent (hwloc_topology_t topology, hwloc_obj_t parent, const char *name) |
| Add a MISC object to the topology.
|
unsigned | hwloc_topology_get_depth (hwloc_topology_t restrict topology) |
| Get the depth of the hierachical tree of objects.
|
int | hwloc_get_type_depth (hwloc_topology_t topology, hwloc_obj_type_t type) |
| Returns the depth of objects of type type .
|
hwloc_obj_type_t | hwloc_get_depth_type (hwloc_topology_t topology, unsigned depth) |
| Returns the type of objects at depth depth .
|
unsigned | hwloc_get_nbobjs_by_depth (hwloc_topology_t topology, unsigned depth) |
| Returns the width of level at depth depth .
|
static inline int
| hwloc_get_nbobjs_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) |
| Returns the width of level type type .
|
int | hwloc_topology_is_thissystem (hwloc_topology_t restrict topology) |
| Does the topology context come from this system?
|
hwloc_obj_t | hwloc_get_obj_by_depth (hwloc_topology_t topology, unsigned depth, unsigned idx) |
| Returns the topology object at index index from depth depth .
|
static inline
hwloc_obj_t
| hwloc_get_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, unsigned idx) |
| Returns the topology object at index index with type type .
|
const char * | hwloc_obj_type_string (hwloc_obj_type_t type) |
| Return a stringified topology object type.
|
hwloc_obj_type_t | hwloc_obj_type_of_string (const char *string) |
| Return an object type from the string.
|
int | hwloc_obj_type_snprintf (char *restrict string, size_t size, hwloc_obj_t obj, int verbose) |
| Stringify the type of a given topology object into a human-readable form.
|
int | hwloc_obj_attr_snprintf (char *restrict string, size_t size, hwloc_obj_t obj, const char *restrict separator, int verbose) |
| Stringify the attributes of a given topology object into a human-readable form.
|
int | hwloc_obj_snprintf (char *restrict string, size_t size, hwloc_topology_t topology, hwloc_obj_t obj, const char *restrict indexprefix, int verbose) |
| Stringify a given topology object into a human-readable form.
|
int | hwloc_obj_cpuset_snprintf (char *restrict str, size_t size, size_t nobj, const hwloc_obj_t *restrict objs) |
| Stringify the cpuset containing a set of objects.
|
static inline char
* | hwloc_obj_get_info_by_name (hwloc_obj_t obj, const char *name) |
| Search the given key name in object infos and return the corresponding value.
|
int | hwloc_set_cpubind (hwloc_topology_t topology, hwloc_const_cpuset_t set, int flags) |
| Bind current process or thread on cpus given in bitmap set .
|
int | hwloc_get_cpubind (hwloc_topology_t topology, hwloc_cpuset_t set, int flags) |
| Get current process or thread binding.
|
int | hwloc_set_proc_cpubind (hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t set, int flags) |
| Bind a process pid on cpus given in bitmap set .
|
int | hwloc_get_proc_cpubind (hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t set, int flags) |
| Get the current binding of process pid .
|
int | hwloc_set_membind_nodeset (hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags) |
| Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) specified by nodeset .
|
int | hwloc_set_membind (hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, hwloc_membind_policy_t policy, int flags) |
| Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) near the specified cpuset .
|
int | hwloc_get_membind_nodeset (hwloc_topology_t topology, hwloc_nodeset_t nodeset, hwloc_membind_policy_t *policy, int flags) |
| Query the default memory binding policy and locality of the current process or thread.
|
int | hwloc_get_membind (hwloc_topology_t topology, hwloc_cpuset_t cpuset, hwloc_membind_policy_t *policy, int flags) |
| Query the default memory binding policy and locality of the current process or thread (the locality is returned in cpuset as CPUs near the locality's actual NUMA node(s)).
|
int | hwloc_set_proc_membind_nodeset (hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags) |
| Set the default memory binding policy of the specified process to prefer the NUMA node(s) specified by nodeset .
|
int | hwloc_set_proc_membind (hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t cpuset, hwloc_membind_policy_t policy, int flags) |
| Set the default memory binding policy of the specified process to prefer the NUMA node(s) near the specified cpuset .
|
int | hwloc_get_proc_membind_nodeset (hwloc_topology_t topology, hwloc_pid_t pid, hwloc_nodeset_t nodeset, hwloc_membind_policy_t *policy, int flags) |
| Query the default memory binding policy and locality of the specified process.
|
int | hwloc_get_proc_membind (hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t cpuset, hwloc_membind_policy_t *policy, int flags) |
| Query the default memory binding policy and locality of the specified process (the locality is returned in cpuset as CPUs near the locality's actual NUMA node(s)).
|
int | hwloc_set_area_membind_nodeset (hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags) |
| Bind the already-allocated memory identified by (addr, len) to the NUMA node(s) in nodeset .
|
int | hwloc_set_area_membind (hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_cpuset_t cpuset, hwloc_membind_policy_t policy, int flags) |
| Bind the already-allocated memory identified by (addr, len) to the NUMA node(s) near cpuset .
|
int | hwloc_get_area_membind_nodeset (hwloc_topology_t topology, const void *addr, size_t len, hwloc_nodeset_t nodeset, hwloc_membind_policy_t *policy, int flags) |
| Query the NUMA node(s) and binding policy of the memory identified by (addr , len ).
|
int | hwloc_get_area_membind (hwloc_topology_t topology, const void *addr, size_t len, hwloc_cpuset_t cpuset, hwloc_membind_policy_t *policy, int flags) |
| Query the CPUs near the NUMA node(s) and binding policy of the memory identified by (addr , len ).
|
void * | hwloc_alloc (hwloc_topology_t topology, size_t len) |
| Allocate some memory.
|
void * | hwloc_alloc_membind_nodeset (hwloc_topology_t topology, size_t len, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags) |
| Allocate some memory on the given nodeset nodeset .
|
void * | hwloc_alloc_membind (hwloc_topology_t topology, size_t len, hwloc_const_cpuset_t cpuset, hwloc_membind_policy_t policy, int flags) |
| Allocate some memory on memory nodes near the given cpuset cpuset .
|
int | hwloc_free (hwloc_topology_t topology, void *addr, size_t len) |
| Free memory that was previously allocated by hwloc_alloc() or hwloc_alloc_membind().
|