23 #include "orte_config.h"
25 #ifdef HAVE_SYS_TYPES_H
26 #include <sys/types.h>
35 #define ORTE_STD_CNTR_T OPAL_INT32
36 #define ORTE_STD_CNTR_MAX INT32_MAX
37 #define ORTE_STD_CNTR_MIN INT32_MIN
38 #define ORTE_STD_CNTR_INVALID -1
47 typedef uint16_t orte_node_rank_t;
48 #define ORTE_LOCAL_RANK OPAL_UINT16
49 #define ORTE_NODE_RANK OPAL_UINT16
50 #define ORTE_LOCAL_RANK_MAX UINT16_MAX-1
51 #define ORTE_NODE_RANK_MAX UINT16_MAX-1
52 #define ORTE_LOCAL_RANK_INVALID UINT16_MAX
53 #define ORTE_NODE_RANK_INVALID UINT16_MAX
56 typedef uint32_t orte_app_idx_t;
57 #define ORTE_APP_IDX OPAL_UINT32
58 #define ORTE_APP_IDX_MAX UINT32_MAX
77 #define ORTE_JOBID_T OPAL_UINT32
78 #define ORTE_JOBID_MAX UINT32_MAX-2
79 #define ORTE_JOBID_MIN 0
80 typedef uint32_t orte_vpid_t;
81 #define ORTE_VPID_T OPAL_UINT32
82 #define ORTE_VPID_MAX UINT32_MAX-2
83 #define ORTE_VPID_MIN 0
86 typedef uint32_t orte_epoch_t;
87 #define ORTE_EPOCH_T OPAL_UINT32
88 #define ORTE_EPOCH_MAX UINT32_MAX-2
89 #define ORTE_EPOCH_MIN 0
93 #define ORTE_PROCESS_NAME_HTON(n) \
95 n.jobid = htonl(n.jobid); \
96 n.vpid = htonl(n.vpid); \
97 n.epoch = htonl(n.epoch); \
100 #define ORTE_PROCESS_NAME_HTON(n) \
102 n.jobid = htonl(n.jobid); \
103 n.vpid = htonl(n.vpid); \
107 #if ORTE_ENABLE_EPOCH
108 #define ORTE_PROCESS_NAME_NTOH(n) \
110 n.jobid = ntohl(n.jobid); \
111 n.vpid = ntohl(n.vpid); \
112 n.epoch = ntohl(n.epoch); \
115 #define ORTE_PROCESS_NAME_NTOH(n) \
117 n.jobid = ntohl(n.jobid); \
118 n.vpid = ntohl(n.vpid); \
122 #define ORTE_NAME_ARGS(n) \
123 (unsigned long) ((NULL == n) ? (unsigned long)ORTE_JOBID_INVALID : (unsigned long)(n)->jobid), \
124 (unsigned long) ((NULL == n) ? (unsigned long)ORTE_VPID_INVALID : (unsigned long)(n)->vpid) \
125 (unsigned long) ((NULL == n) ? (unsigned long)ORTE_EPOCH_INVALID : (unsigned long)(n)->epoch)
130 #define ORTE_JOBID_INVALID (ORTE_JOBID_MAX + 2)
131 #define ORTE_VPID_INVALID (ORTE_VPID_MAX + 2)
132 #define ORTE_EPOCH_INVALID (ORTE_EPOCH_MAX + 2)
133 #define ORTE_LOCAL_JOBID_INVALID (ORTE_JOBID_INVALID & 0x0000FFFF)
138 #define ORTE_JOBID_WILDCARD (ORTE_JOBID_MAX + 1)
139 #define ORTE_VPID_WILDCARD (ORTE_VPID_MAX + 1)
140 #define ORTE_EPOCH_WILDCARD (ORTE_EPOCH_MAX + 1)
141 #define ORTE_LOCAL_JOBID_WILDCARD (ORTE_JOBID_WILDCARD & 0x0000FFFF)
149 #if ORTE_ENABLE_EPOCH
167 #if defined(__APPLE__) || defined(__WINDOWS__)
175 #define ORTE_STD_CNTR (OPAL_DSS_ID_DYNAMIC + 1)
178 #define ORTE_NAME (OPAL_DSS_ID_DYNAMIC + 2)
179 #define ORTE_VPID (OPAL_DSS_ID_DYNAMIC + 3)
180 #define ORTE_JOBID (OPAL_DSS_ID_DYNAMIC + 4)
182 #if ORTE_ENABLE_EPOCH
183 #define ORTE_EPOCH (OPAL_DSS_ID_DYNAMIC + 5)
186 #if !ORTE_DISABLE_FULL_SUPPORT
188 #define ORTE_NODE_STATE (OPAL_DSS_ID_DYNAMIC + 6)
189 #define ORTE_PROC_STATE (OPAL_DSS_ID_DYNAMIC + 7)
190 #define ORTE_JOB_STATE (OPAL_DSS_ID_DYNAMIC + 8)
191 #define ORTE_EXIT_CODE (OPAL_DSS_ID_DYNAMIC + 9)
193 #define ORTE_VALUE (OPAL_DSS_ID_DYNAMIC + 10)
195 #define ORTE_APP_CONTEXT (OPAL_DSS_ID_DYNAMIC + 11)
196 #define ORTE_NODE_DESC (OPAL_DSS_ID_DYNAMIC + 12)
197 #define ORTE_SLOT_DESC (OPAL_DSS_ID_DYNAMIC + 13)
198 #define ORTE_JOB (OPAL_DSS_ID_DYNAMIC + 14)
199 #define ORTE_NODE (OPAL_DSS_ID_DYNAMIC + 15)
200 #define ORTE_PROC (OPAL_DSS_ID_DYNAMIC + 16)
201 #define ORTE_JOB_MAP (OPAL_DSS_ID_DYNAMIC + 17)
204 #define ORTE_RML_TAG (OPAL_DSS_ID_DYNAMIC + 18)
206 #define ORTE_DAEMON_CMD (OPAL_DSS_ID_DYNAMIC + 19)
209 #define ORTE_GRPCOMM_MODE (OPAL_DSS_ID_DYNAMIC + 20)
212 #define ORTE_IOF_TAG (OPAL_DSS_ID_DYNAMIC + 21)
216 #define ORTE_DSS_ID_DYNAMIC (OPAL_DSS_ID_DYNAMIC + 50)
orte_vpid_t vpid
Process id - equivalent to rank.
Definition: types.h:148
uint32_t orte_jobid_t
Set the allowed range for ids in each space.
Definition: types.h:76
int32_t orte_std_cntr_t
Supported datatypes for messaging and storage operations.
Definition: types.h:34
void * orte_iov_base_ptr_t
handle differences in iovec
Definition: types.h:170
uint16_t orte_local_rank_t
rank on node, used for both local and node rank.
Definition: types.h:46
orte_jobid_t jobid
Job number.
Definition: types.h:147