SysTutorials Posts

  • |

    hwlocality_linux (3) Linux Manual Page

    NAME hwlocality_linux – Linux-specific helpers Functions int hwloc_linux_parse_cpumap_file (FILE *file, hwloc_cpuset_t set) int hwloc_linux_set_tid_cpubind (hwloc_topology_t topology, pid_t tid, hwloc_const_cpuset_t set) int hwloc_linux_get_tid_cpubind (hwloc_topology_t topology, pid_t tid, hwloc_cpuset_t set) int hwloc_linux_get_tid_last_cpu_location (hwloc_topology_t topology, pid_t tid, hwloc_bitmap_t set) Detailed Description This includes helpers for manipulating Linux kernel cpumap files, and hwloc equivalents of the Linux sched_setaffinity and…

  • |

    hwlocality_levels (3) Linux Manual Page

    NAME hwlocality_levels – Object levels, depths and types Enumerations enum hwloc_get_type_depth_e { HWLOC_TYPE_DEPTH_UNKNOWN, HWLOC_TYPE_DEPTH_MULTIPLE, HWLOC_TYPE_DEPTH_BRIDGE, HWLOC_TYPE_DEPTH_PCI_DEVICE, HWLOC_TYPE_DEPTH_OS_DEVICE } Functions unsigned hwloc_topology_get_depth (hwloc_topology_t restrict topology) int hwloc_get_type_depth (hwloc_topology_t topology, hwloc_obj_type_t type) static int hwloc_get_type_or_below_depth (hwloc_topology_t topology, hwloc_obj_type_t type) static int hwloc_get_type_or_above_depth (hwloc_topology_t topology, hwloc_obj_type_t type) hwloc_obj_type_t hwloc_get_depth_type (hwloc_topology_t topology, unsigned depth) unsigned hwloc_get_nbobjs_by_depth (hwloc_topology_t topology, unsigned…

  • |

    hwlocality_intel_mic (3) Linux Manual Page

    NAME hwlocality_intel_mic – Interoperability with Intel Xeon Phi (MIC) Functions static int hwloc_intel_mic_get_device_cpuset (hwloc_topology_t topology, int idx, hwloc_cpuset_t set) static hwloc_obj_t hwloc_intel_mic_get_device_osdev_by_index (hwloc_topology_t topology, unsigned idx) Detailed Description This interface offers ways to retrieve topology information about Intel Xeon Phi (MIC) devices. Function Documentation static int hwloc_intel_mic_get_device_cpuset (hwloc_topology_t topology, int idx, hwloc_cpuset_t set) [inline], [static]…

  • |

    hwlocality_helper_topology_sets (3) Linux Manual Page

    NAME hwlocality_helper_topology_sets – CPU and node sets of entire topologies Functions static hwloc_const_cpuset_t hwloc_topology_get_complete_cpuset (hwloc_topology_t topology) static hwloc_const_cpuset_t hwloc_topology_get_topology_cpuset (hwloc_topology_t topology) static hwloc_const_cpuset_t hwloc_topology_get_online_cpuset (hwloc_topology_t topology) static hwloc_const_cpuset_t hwloc_topology_get_allowed_cpuset (hwloc_topology_t topology) static hwloc_const_nodeset_t hwloc_topology_get_complete_nodeset (hwloc_topology_t topology) static hwloc_const_nodeset_t hwloc_topology_get_topology_nodeset (hwloc_topology_t topology) static hwloc_const_nodeset_t hwloc_topology_get_allowed_nodeset (hwloc_topology_t topology) Detailed Description Function Documentation static hwloc_const_cpuset_t hwloc_topology_get_allowed_cpuset (hwloc_topology_t topology)…

  • |

    hwlocality_helper_nodeset_convert (3) Linux Manual Page

    NAME hwlocality_helper_nodeset_convert – Converting between CPU sets and node sets Functions static void hwloc_cpuset_to_nodeset (hwloc_topology_t topology, hwloc_const_cpuset_t _cpuset, hwloc_nodeset_t nodeset) static void hwloc_cpuset_to_nodeset_strict (struct hwloc_topology *topology, hwloc_const_cpuset_t _cpuset, hwloc_nodeset_t nodeset) static void hwloc_cpuset_from_nodeset (hwloc_topology_t topology, hwloc_cpuset_t _cpuset, hwloc_const_nodeset_t nodeset) static void hwloc_cpuset_from_nodeset_strict (struct hwloc_topology *topology, hwloc_cpuset_t _cpuset, hwloc_const_nodeset_t nodeset) Detailed Description There are two semantics…

  • |

    hwlocality_helper_find_misc (3) Linux Manual Page

    NAME hwlocality_helper_find_misc – Finding objects, miscellaneous helpers Functions static hwloc_obj_t hwloc_get_pu_obj_by_os_index (hwloc_topology_t topology, unsigned os_index) static hwloc_obj_t hwloc_get_numanode_obj_by_os_index (hwloc_topology_t topology, unsigned os_index) unsigned hwloc_get_closest_objs (hwloc_topology_t topology, hwloc_obj_t src, hwloc_obj_t *restrict objs, unsigned max) static hwloc_obj_t hwloc_get_obj_below_by_type (hwloc_topology_t topology, hwloc_obj_type_t type1, unsigned idx1, hwloc_obj_type_t type2, unsigned idx2) static hwloc_obj_t hwloc_get_obj_below_array_by_type (hwloc_topology_t topology, int nr, hwloc_obj_type_t *typev,…

  • |

    hwlocality_helper_find_inside (3) Linux Manual Page

    NAME hwlocality_helper_find_inside – Finding Objects inside a CPU set Functions static hwloc_obj_t hwloc_get_first_largest_obj_inside_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set) int hwloc_get_largest_objs_inside_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t *restrict objs, int max) static hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, unsigned depth, hwloc_obj_t prev) static hwloc_obj_t hwloc_get_next_obj_inside_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev) static hwloc_obj_t hwloc_get_obj_inside_cpuset_by_depth (hwloc_topology_t topology,…

  • |

    hwlocality_helper_find_covering (3) Linux Manual Page

    NAME hwlocality_helper_find_covering – Finding Objects covering at least CPU set Functions static hwloc_obj_t hwloc_get_child_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_t parent) static hwloc_obj_t hwloc_get_obj_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set) static hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_depth (hwloc_topology_t topology, hwloc_const_cpuset_t set, unsigned depth, hwloc_obj_t prev) static hwloc_obj_t hwloc_get_next_obj_covering_cpuset_by_type (hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_obj_type_t type, hwloc_obj_t prev) Detailed Description Function Documentation static hwloc_obj_t…

  • |

    hwlocality_helper_find_cache (3) Linux Manual Page

    NAME hwlocality_helper_find_cache – Looking at Cache Objects Functions static int hwloc_get_cache_type_depth (hwloc_topology_t topology, unsigned cachelevel, hwloc_obj_cache_type_t cachetype) static hwloc_obj_t hwloc_get_cache_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set) static hwloc_obj_t hwloc_get_shared_cache_covering_obj (hwloc_topology_t topology, hwloc_obj_t obj) Detailed Description Function Documentation static hwloc_obj_t hwloc_get_cache_covering_cpuset (hwloc_topology_t topology, hwloc_const_cpuset_t set) [inline], [static] Get the first cache covering a cpuset set. Returns: NULL if…

  • |

    hwlocality_helper_distribute (3) Linux Manual Page

    NAME hwlocality_helper_distribute – Distributing items over a topology Enumerations enum hwloc_distrib_flags_e { HWLOC_DISTRIB_FLAG_REVERSE } Functions static int hwloc_distrib (hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_roots, hwloc_cpuset_t *set, unsigned n, unsigned until, unsigned long flags) Detailed Description Enumeration Type Documentation enum hwloc_distrib_flags_e Flags to be given to hwloc_distrib(). Enumerator HWLOC_DISTRIB_FLAG_REVERSE Distrib in reverse order, starting from the…

  • |

    hwlocality_helper_ancestors (3) Linux Manual Page

    NAME hwlocality_helper_ancestors – Looking at Ancestor and Child Objects Functions static hwloc_obj_t hwloc_get_ancestor_obj_by_depth (hwloc_topology_t topology, unsigned depth, hwloc_obj_t obj) static hwloc_obj_t hwloc_get_ancestor_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type, hwloc_obj_t obj) static hwloc_obj_t hwloc_get_common_ancestor_obj (hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2) static int hwloc_obj_is_in_subtree (hwloc_topology_t topology, hwloc_obj_t obj, hwloc_obj_t subtree_root) static hwloc_obj_t hwloc_get_next_child (hwloc_topology_t topology, hwloc_obj_t parent, hwloc_obj_t prev)…

  • |

    hwlocality_glibc_sched (3) Linux Manual Page

    NAME hwlocality_glibc_sched – Interoperability with glibc sched affinity Functions static int hwloc_cpuset_to_glibc_sched_affinity (hwloc_topology_t topology, hwloc_const_cpuset_t hwlocset, cpu_set_t *schedset, size_t schedsetsize) static int hwloc_cpuset_from_glibc_sched_affinity (hwloc_topology_t topology, hwloc_cpuset_t hwlocset, const cpu_set_t *schedset, size_t schedsetsize) Detailed Description This interface offers ways to convert between hwloc cpusets and glibc cpusets such as those manipulated by sched_getaffinity() or pthread_attr_setaffinity_np(). Note:…

  • |

    hwlocality_gl (3) Linux Manual Page

    NAME hwlocality_gl – Interoperability with OpenGL displays Functions static hwloc_obj_t hwloc_gl_get_display_osdev_by_port_device (hwloc_topology_t topology, unsigned port, unsigned device) static hwloc_obj_t hwloc_gl_get_display_osdev_by_name (hwloc_topology_t topology, const char *name) static int hwloc_gl_get_display_by_osdev (hwloc_topology_t topology, hwloc_obj_t osdev, unsigned *port, unsigned *device) Detailed Description This interface offers ways to retrieve topology information about OpenGL displays. Only the NVIDIA display locality information…

  • |

    hwlocality_distances (3) Linux Manual Page

    NAME hwlocality_distances – Manipulating Distances Functions static const struct hwloc_distances_s * hwloc_get_whole_distance_matrix_by_depth (hwloc_topology_t topology, unsigned depth) static const struct hwloc_distances_s * hwloc_get_whole_distance_matrix_by_type (hwloc_topology_t topology, hwloc_obj_type_t type) static const struct hwloc_distances_s * hwloc_get_distance_matrix_covering_obj_by_depth (hwloc_topology_t topology, hwloc_obj_t obj, unsigned depth, unsigned *firstp) static int hwloc_get_latency (hwloc_topology_t topology, hwloc_obj_t obj1, hwloc_obj_t obj2, float *latency, float *reverse_latency) Detailed Description…

  • |

    hwlocality_diff (3) Linux Manual Page

    NAME hwlocality_diff – Topology differences Data Structures union hwloc_topology_diff_obj_attr_u struct hwloc_topology_diff_obj_attr_u::hwloc_topology_diff_obj_attr_uint64_s struct hwloc_topology_diff_obj_attr_u::hwloc_topology_diff_obj_attr_string_s struct hwloc_topology_diff_obj_attr_u::hwloc_topology_diff_obj_attr_generic_s union hwloc_topology_diff_u struct hwloc_topology_diff_u::hwloc_topology_diff_too_complex_s struct hwloc_topology_diff_u::hwloc_topology_diff_obj_attr_s struct hwloc_topology_diff_u::hwloc_topology_diff_generic_s Typedefs typedef enum hwloc_topology_diff_obj_attr_type_e hwloc_topology_diff_obj_attr_type_t typedef enum hwloc_topology_diff_type_e hwloc_topology_diff_type_t typedef union hwloc_topology_diff_u * hwloc_topology_diff_t Enumerations enum hwloc_topology_diff_obj_attr_type_e { HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_SIZE, HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_NAME, HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_INFO } enum hwloc_topology_diff_type_e { HWLOC_TOPOLOGY_DIFF_OBJ_ATTR, HWLOC_TOPOLOGY_DIFF_TOO_COMPLEX } enum hwloc_topology_diff_apply_flags_e { HWLOC_TOPOLOGY_DIFF_APPLY_REVERSE…

  • |

    hwlocality_custom (3) Linux Manual Page

    NAME hwlocality_custom – Building Custom Topologies Functions int hwloc_custom_insert_topology (hwloc_topology_t newtopology, hwloc_obj_t newparent, hwloc_topology_t oldtopology, hwloc_obj_t oldroot) hwloc_obj_t hwloc_custom_insert_group_object_by_parent (hwloc_topology_t topology, hwloc_obj_t parent, int groupdepth) Detailed Description A custom topology may be initialized by calling hwloc_topology_set_custom() after hwloc_topology_init(). It may then be modified by inserting objects or entire topologies. Once done assembling, hwloc_topology_load() should be…

  • |

    hwlocality_cudart (3) Linux Manual Page

    NAME hwlocality_cudart – Interoperability with the CUDA Runtime API Functions static int hwloc_cudart_get_device_pci_ids (hwloc_topology_t topology, int idx, int *domain, int *bus, int *dev) static int hwloc_cudart_get_device_cpuset (hwloc_topology_t topology, int idx, hwloc_cpuset_t set) static hwloc_obj_t hwloc_cudart_get_device_pcidev (hwloc_topology_t topology, int idx) static hwloc_obj_t hwloc_cudart_get_device_osdev_by_index (hwloc_topology_t topology, unsigned idx) Detailed Description This interface offers ways to retrieve topology…

  • |

    hwlocality_cuda (3) Linux Manual Page

    NAME hwlocality_cuda – Interoperability with the CUDA Driver API Functions static int hwloc_cuda_get_device_pci_ids (hwloc_topology_t topology, CUdevice cudevice, int *domain, int *bus, int *dev) static int hwloc_cuda_get_device_cpuset (hwloc_topology_t topology, CUdevice cudevice, hwloc_cpuset_t set) static hwloc_obj_t hwloc_cuda_get_device_pcidev (hwloc_topology_t topology, CUdevice cudevice) static hwloc_obj_t hwloc_cuda_get_device_osdev (hwloc_topology_t topology, CUdevice cudevice) static hwloc_obj_t hwloc_cuda_get_device_osdev_by_index (hwloc_topology_t topology, unsigned idx) Detailed Description…

  • |

    hwlocality_creation (3) Linux Manual Page

    NAME hwlocality_creation – Topology Creation and Destruction Typedefs typedef struct hwloc_topology * hwloc_topology_t Functions int hwloc_topology_init (hwloc_topology_t *topologyp) int hwloc_topology_load (hwloc_topology_t topology) void hwloc_topology_destroy (hwloc_topology_t topology) int hwloc_topology_dup (hwloc_topology_t *newtopology, hwloc_topology_t oldtopology) void hwloc_topology_check (hwloc_topology_t topology) Detailed Description Typedef Documentation typedef struct hwloc_topology* hwloc_topology_t Topology context. To be initialized with hwloc_topology_init() and built with hwloc_topology_load()….

  • |

    hwlocality_cpubinding (3) Linux Manual Page

    NAME hwlocality_cpubinding – CPU binding Enumerations enum hwloc_cpubind_flags_t { HWLOC_CPUBIND_PROCESS, HWLOC_CPUBIND_THREAD, HWLOC_CPUBIND_STRICT, HWLOC_CPUBIND_NOMEMBIND } Functions int hwloc_set_cpubind (hwloc_topology_t topology, hwloc_const_cpuset_t set, int flags) int hwloc_get_cpubind (hwloc_topology_t topology, hwloc_cpuset_t set, int flags) int hwloc_set_proc_cpubind (hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t set, int flags) int hwloc_get_proc_cpubind (hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t set, int flags) int hwloc_set_thread_cpubind (hwloc_topology_t topology,…