It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces, InfiniBand HCAs or GPUs.
hwloc primarily aims at helping applications with gathering information about increasingly complex parallel computing platforms so as to exploit them accordingly and efficiently. For instance, two tasks that tightly cooperate should probably be placed onto cores sharing a cache. However, two independent memory-intensive tasks should better be spread out onto different sockets so as to maximize their memory throughput.
hwloc may also help many applications just by providing a portable CPU and memory binding API and a reliable way to find out how many cores and/or hardware threads are available.
| Modifier and Type | Interface and Description |
|---|---|
| public interface | topology_set_userdata_export_callbackI
Instances of this interface may be passed to the |
| public interface | topology_set_userdata_import_callbackI
Instances of this interface may be passed to the |
| Modifier and Type | Class and Description |
|---|---|
| public class | |
| public class | hwloc_bridge_attr_s
Layout
|
| public class | hwloc_cache_attr_s
Layout
|
| public class | hwloc_distances_s
Layout
|
| public class | hwloc_group_attr_s
Layout
|
| public class | |
| public class | hwloc_infos_s
Layout
|
| public class | hwloc_location
Layout
|
| public class | |
| public class | hwloc_memory_page_type_s
Layout
|
| public class | hwloc_numanode_attr_s
Layout
|
| public class | hwloc_obj
Layout
|
| public class | hwloc_obj_attr_u
Layout
|
| public class | |
| public class | hwloc_pcidev_attr_s
Layout
|
| public class | hwloc_topology_cpubind_support
Layout
|
| public class | hwloc_topology_diff_generic_s
Layout
|
| public class | hwloc_topology_diff_obj_attr_generic_s
Layout
|
| public class | hwloc_topology_diff_obj_attr_s
Layout
|
| public class | hwloc_topology_diff_obj_attr_string_s
Layout
|
| public class | hwloc_topology_diff_obj_attr_u
Layout
|
| public class | hwloc_topology_diff_obj_attr_uint64_s
Layout
|
| public class | hwloc_topology_diff_too_complex_s
Layout
|
| public class | hwloc_topology_diff_u
Layout
|
| public class | hwloc_topology_discovery_support
Layout
|
| public class | hwloc_topology_membind_support
Layout
|
| public class | hwloc_topology_misc_support
Layout
|
| public class | hwloc_topology_support
Layout
|
| public class | HWLocLinux
Linux-specific helpers. |
| public class | HWLocShMem
Sharing topologies between processes. |
| public class | HWLocWindows
Windows-specific helpers. |
| public abstract class | topology_set_userdata_export_callback
Instances of this class may be passed to the |
| public abstract class | topology_set_userdata_import_callback
Instances of this class may be passed to the |