Open MPI logo

Portable Hardware Locality (hwloc) Documentation: v2.11.2

  |   Home   |   Support   |   FAQ   |  
hwloc_disc_component Struct Reference

#include <plugins.h>

Data Fields

const char * name
 
unsigned phases
 
unsigned excluded_phases
 
struct hwloc_backend *(* instantiate )(struct hwloc_topology *topology, struct hwloc_disc_component *component, unsigned excluded_phases, const void *data1, const void *data2, const void *data3)
 
unsigned priority
 
unsigned enabled_by_default
 

Detailed Description

Discovery component structure.

This is the major kind of components, taking care of the discovery. They are registered by generic components, either statically-built or as plugins.

Field Documentation

◆ enabled_by_default

unsigned hwloc_disc_component::enabled_by_default

Enabled by default. If unset, if will be disabled unless explicitly requested.

◆ excluded_phases

unsigned hwloc_disc_component::excluded_phases

Component phases to exclude, as an OR'ed set of hwloc_disc_phase_t.

For a GLOBAL component, this usually includes all other phases (~UL).

Other components only exclude types that may bring conflicting topology information. MISC components should likely not be excluded since they usually bring non-primary additional information.

◆ instantiate

struct hwloc_backend *(* hwloc_disc_component::instantiate) (struct hwloc_topology *topology, struct hwloc_disc_component *component, unsigned excluded_phases, const void *data1, const void *data2, const void *data3)

Instantiate callback to create a backend from the component. Parameters data1, data2, data3 are NULL except for components that have special enabling routines such as hwloc_topology_set_xml().

◆ name

const char* hwloc_disc_component::name

Name. If this component is built as a plugin, this name does not have to match the plugin filename.

◆ phases

unsigned hwloc_disc_component::phases

Discovery phases performed by this component. OR'ed set of hwloc_disc_phase_t.

◆ priority

unsigned hwloc_disc_component::priority

Component priority. Used to sort topology->components, higher priority first. Also used to decide between two components with the same name.

Usual values are 50 for native OS (or platform) components, 45 for x86, 40 for no-OS fallback, 30 for global components (xml, synthetic), 20 for pci, 10 for other misc components (opencl etc.).


The documentation for this struct was generated from the following file: