Open MPI logo

Portable Hardware Locality (hwloc) Documentation: v2.9.2

  |   Home   |   Support   |   FAQ   |  
Components and Plugins: finding PCI objects during other discoveries

Typedefs

typedef void * hwloc_backend_distances_add_handle_t
 

Functions

struct hwloc_objhwloc_pci_find_parent_by_busid (struct hwloc_topology *topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
 
struct hwloc_objhwloc_pci_find_by_busid (struct hwloc_topology *topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
 
hwloc_backend_distances_add_handle_t hwloc_backend_distances_add_create (hwloc_topology_t topology, const char *name, unsigned long kind, unsigned long flags)
 
int hwloc_backend_distances_add_values (hwloc_topology_t topology, hwloc_backend_distances_add_handle_t handle, unsigned nbobjs, hwloc_obj_t *objs, hwloc_uint64_t *values, unsigned long flags)
 
int hwloc_backend_distances_add_commit (hwloc_topology_t topology, hwloc_backend_distances_add_handle_t handle, unsigned long flags)
 

Detailed Description

Note
These structures and functions may change when HWLOC_COMPONENT_ABI is modified.

Typedef Documentation

◆ hwloc_backend_distances_add_handle_t

Handle to a new distances structure during its addition to the topology.

Function Documentation

◆ hwloc_backend_distances_add_commit()

int hwloc_backend_distances_add_commit ( hwloc_topology_t  topology,
hwloc_backend_distances_add_handle_t  handle,
unsigned long  flags 
)

Commit a new distances structure.

This is similar to hwloc_distances_add_commit() but this variant is designed for backend inserting distances during topology discovery.

◆ hwloc_backend_distances_add_create()

hwloc_backend_distances_add_handle_t hwloc_backend_distances_add_create ( hwloc_topology_t  topology,
const char *  name,
unsigned long  kind,
unsigned long  flags 
)

Create a new empty distances structure.

This is identical to hwloc_distances_add_create() but this variant is designed for backend inserting distances during topology discovery.

◆ hwloc_backend_distances_add_values()

int hwloc_backend_distances_add_values ( hwloc_topology_t  topology,
hwloc_backend_distances_add_handle_t  handle,
unsigned  nbobjs,
hwloc_obj_t objs,
hwloc_uint64_t *  values,
unsigned long  flags 
)

Specify the objects and values in a new empty distances structure.

This is similar to hwloc_distances_add_values() but this variant is designed for backend inserting distances during topology discovery.

The only semantical difference is that objs and values are not duplicated, but directly attached to the topology. On success, these arrays are given to the core and should not ever be freed by the caller anymore.

◆ hwloc_pci_find_by_busid()

struct hwloc_obj * hwloc_pci_find_by_busid ( struct hwloc_topology *  topology,
unsigned  domain,
unsigned  bus,
unsigned  dev,
unsigned  func 
)

Find the PCI device or bridge matching a PCI bus ID exactly.

This is useful for adding specific information about some objects based on their PCI id. When it comes to attaching objects based on PCI locality, hwloc_pci_find_parent_by_busid() should be preferred.

◆ hwloc_pci_find_parent_by_busid()

struct hwloc_obj * hwloc_pci_find_parent_by_busid ( struct hwloc_topology *  topology,
unsigned  domain,
unsigned  bus,
unsigned  dev,
unsigned  func 
)

Find the object or a parent of a PCI bus ID.

When attaching a new object (typically an OS device) whose locality is specified by PCI bus ID, this function returns the PCI object to use as a parent for attaching.

If the exact PCI device with this bus ID exists, it is returned. Otherwise (for instance if it was filtered out), the function returns another object with similar locality (for instance a parent bridge, or the local CPU Package).