OpenMPI  0.1.1
types.h File Reference
#include "orte_config.h"
#include "opal/dss/dss_types.h"

Go to the source code of this file.

Data Structures

struct  orte_process_name_t
 

Macros

#define ORTE_STD_CNTR_T   OPAL_INT32
 standard counters used in ORTE
 
#define ORTE_STD_CNTR_MAX   INT32_MAX
 
#define ORTE_STD_CNTR_MIN   INT32_MIN
 
#define ORTE_STD_CNTR_INVALID   -1
 
#define ORTE_LOCAL_RANK   OPAL_UINT16
 
#define ORTE_NODE_RANK   OPAL_UINT16
 
#define ORTE_LOCAL_RANK_MAX   UINT16_MAX-1
 
#define ORTE_NODE_RANK_MAX   UINT16_MAX-1
 
#define ORTE_LOCAL_RANK_INVALID   UINT16_MAX
 
#define ORTE_NODE_RANK_INVALID   UINT16_MAX
 
#define ORTE_APP_IDX   OPAL_UINT32
 
#define ORTE_APP_IDX_MAX   UINT32_MAX
 
#define ORTE_JOBID_T   OPAL_UINT32
 
#define ORTE_JOBID_MAX   UINT32_MAX-2
 
#define ORTE_JOBID_MIN   0
 
#define ORTE_VPID_T   OPAL_UINT32
 
#define ORTE_VPID_MAX   UINT32_MAX-2
 
#define ORTE_VPID_MIN   0
 
#define ORTE_PROCESS_NAME_HTON(n)
 
#define ORTE_PROCESS_NAME_NTOH(n)
 
#define ORTE_NAME_ARGS(n)
 
#define ORTE_JOBID_INVALID   (ORTE_JOBID_MAX + 2)
 
#define ORTE_VPID_INVALID   (ORTE_VPID_MAX + 2)
 
#define ORTE_EPOCH_INVALID   (ORTE_EPOCH_MAX + 2)
 
#define ORTE_LOCAL_JOBID_INVALID   (ORTE_JOBID_INVALID & 0x0000FFFF)
 
#define ORTE_JOBID_WILDCARD   (ORTE_JOBID_MAX + 1)
 
#define ORTE_VPID_WILDCARD   (ORTE_VPID_MAX + 1)
 
#define ORTE_EPOCH_WILDCARD   (ORTE_EPOCH_MAX + 1)
 
#define ORTE_LOCAL_JOBID_WILDCARD   (ORTE_JOBID_WILDCARD & 0x0000FFFF)
 
#define ORTE_STD_CNTR   (OPAL_DSS_ID_DYNAMIC + 1)
 standard counter type
 
#define ORTE_NAME   (OPAL_DSS_ID_DYNAMIC + 2)
 an orte_process_name_t
 
#define ORTE_VPID   (OPAL_DSS_ID_DYNAMIC + 3)
 a vpid
 
#define ORTE_JOBID   (OPAL_DSS_ID_DYNAMIC + 4)
 a jobid
 
#define ORTE_NODE_STATE   (OPAL_DSS_ID_DYNAMIC + 6)
 node status flag
 
#define ORTE_PROC_STATE   (OPAL_DSS_ID_DYNAMIC + 7)
 process/resource status
 
#define ORTE_JOB_STATE   (OPAL_DSS_ID_DYNAMIC + 8)
 job status flag
 
#define ORTE_EXIT_CODE   (OPAL_DSS_ID_DYNAMIC + 9)
 process exit code
 
#define ORTE_VALUE   (OPAL_DSS_ID_DYNAMIC + 10)
 registry return value
 
#define ORTE_APP_CONTEXT   (OPAL_DSS_ID_DYNAMIC + 11)
 argv and enviro arrays
 
#define ORTE_NODE_DESC   (OPAL_DSS_ID_DYNAMIC + 12)
 describes capabilities of nodes
 
#define ORTE_SLOT_DESC   (OPAL_DSS_ID_DYNAMIC + 13)
 describes slot allocations/reservations
 
#define ORTE_JOB   (OPAL_DSS_ID_DYNAMIC + 14)
 job information
 
#define ORTE_NODE   (OPAL_DSS_ID_DYNAMIC + 15)
 node information
 
#define ORTE_PROC   (OPAL_DSS_ID_DYNAMIC + 16)
 process information
 
#define ORTE_JOB_MAP   (OPAL_DSS_ID_DYNAMIC + 17)
 map of process locations
 
#define ORTE_RML_TAG   (OPAL_DSS_ID_DYNAMIC + 18)
 tag for sending/receiving messages
 
#define ORTE_DAEMON_CMD   (OPAL_DSS_ID_DYNAMIC + 19)
 command flag for communicating with the daemon
 
#define ORTE_GRPCOMM_MODE   (OPAL_DSS_ID_DYNAMIC + 20)
 
#define ORTE_IOF_TAG   (OPAL_DSS_ID_DYNAMIC + 21)
 
#define ORTE_DSS_ID_DYNAMIC   (OPAL_DSS_ID_DYNAMIC + 50)
 

Typedefs

typedef int32_t orte_std_cntr_t
 Supported datatypes for messaging and storage operations.
 
typedef uint16_t orte_local_rank_t
 rank on node, used for both local and node rank. More...
 
typedef uint16_t orte_node_rank_t
 
typedef uint32_t orte_app_idx_t
 
typedef uint32_t orte_jobid_t
 Set the allowed range for ids in each space. More...
 
typedef uint32_t orte_vpid_t
 
typedef struct orte_process_name_t orte_process_name_t
 
typedef void * orte_iov_base_ptr_t
 handle differences in iovec
 

Macro Definition Documentation

#define ORTE_NAME_ARGS (   n)
Value:
(unsigned long) ((NULL == n) ? (unsigned long)ORTE_JOBID_INVALID : (unsigned long)(n)->jobid), \
(unsigned long) ((NULL == n) ? (unsigned long)ORTE_VPID_INVALID : (unsigned long)(n)->vpid) \
(unsigned long) ((NULL == n) ? (unsigned long)ORTE_EPOCH_INVALID : (unsigned long)(n)->epoch)
#define ORTE_PROCESS_NAME_HTON (   n)
Value:
do { \
n.jobid = htonl(n.jobid); \
n.vpid = htonl(n.vpid); \
} while (0)
#define ORTE_PROCESS_NAME_NTOH (   n)
Value:
do { \
n.jobid = ntohl(n.jobid); \
n.vpid = ntohl(n.vpid); \
} while (0)

Typedef Documentation

typedef uint32_t orte_jobid_t

Set the allowed range for ids in each space.

NOTE: Be sure to update the ORTE_NAME_ARGS #define (above) and all uses of it if these types change to be larger than (long)! The HTON and NTOH macros below must be updated, as well as the MIN / MAX macros below and the datatype packing representations in orte/mca/plm/base/plm_private.h

NOTE: Be sure to keep the jobid and vpid types the same size! Due to padding rules, it won't save anything to have one larger than the other, and it will cause problems in the communication subsystems

typedef uint16_t orte_local_rank_t

rank on node, used for both local and node rank.

We don't send these around on their own, so don't create dedicated type support for them - we are defining them here solely for readability in the code and so we have one place where any future changes can be made