18.3.39. pmix_geometry_t

pmix_geometry_t — Describes the fabric coordinates of a specified device

18.3.39.1. SYNTAX

18.3.39.1.1. C Syntax

#include <pmix_common.h>

typedef struct pmix_geometry {
    size_t fabric;
    char *uuid;
    char *osname;
    pmix_coord_t *coordinates;
    size_t ncoords;
} pmix_geometry_t;

18.3.39.2. DESCRIPTION

The pmix_geometry_t structure describes the fabric coordinates of a specified fabric device, associating a device with its coordinates in one or more views.

The fabric field is the index of the fabric (fabric plane) with which the device is associated.

The uuid field is a string containing the universally unique identifier of the fabric device.

The osname field is a string containing the operating-system name of the fabric device (e.g., the local device name).

The coordinates field points to an array of ncoords pmix_coord_t(5) structures giving the device’s coordinates. A device may have more than one coordinate, since a coordinate is expressed in a particular view (see pmix_coord_view_t(5)). The ncoords field gives the number of elements in the coordinates array.

All coordinate values are expressed as unsigned integers, as their units are defined in terms of fabric devices rather than physical distances; a coordinate is therefore an indicator of connectivity, and not of relative communication distance. Fabric coordinates must be unique within a given view and are logically grouped within the node realm.

The PMIX_GEOMETRY_STATIC_INIT macro is provided to statically initialize a pmix_geometry_t structure.

18.3.39.3. STATIC INITIALIZER

A statically declared pmix_geometry_t may be initialized with the PMIX_GEOMETRY_STATIC_INIT macro, which sets fabric and ncoords to 0 and uuid, osname, and coordinates to NULL:

pmix_geometry_t geometry = PMIX_GEOMETRY_STATIC_INIT;