This is the MadMPI private interface. More...
Files | |
| file | nm_mpi_private.h |
| Internal data structures for MPI. | |
| file | nm_mpi_private_syms.h |
| internal symbols for MPI functions | |
Detailed Description
This is the MadMPI private interface.
Macro Definition Documentation
◆ FREE_AND_SET_NULL
| #define FREE_AND_SET_NULL | ( | p | ) | do { padico_free(p); p = NULL; } while (0/*CONSTCOND*/) |
Definition at line 187 of file nm_mpi_private.h.
◆ NM_MPI_COMMUNICATOR_CHECK
| #define NM_MPI_COMMUNICATOR_CHECK | ( | P_COMM | ) |
check that the given communicator is valid
Definition at line 154 of file nm_mpi_private.h.
◆ NM_MPI_DATATYPE_CHECK
| #define NM_MPI_DATATYPE_CHECK | ( | P_DATATYPE | ) |
check that the given datatype is valid
Definition at line 169 of file nm_mpi_private.h.
◆ nm_mpi_errhandler_exec
| #define nm_mpi_errhandler_exec | ( | P_ERRHANDLER, | |
| KIND, | |||
| HANDLE, | |||
| ERR | |||
| ) |
Definition at line 112 of file nm_mpi_private.h.
◆ NM_MPI_ERROR_COMM
| #define NM_MPI_ERROR_COMM | ( | P_COMM, | |
| ERRORCODE | |||
| ) |
Definition at line 119 of file nm_mpi_private.h.
◆ NM_MPI_ERROR_FILE
| #define NM_MPI_ERROR_FILE | ( | P_FILE, | |
| ERRORCODE | |||
| ) |
raise an error on the given file
Definition at line 137 of file nm_mpi_private.h.
◆ NM_MPI_ERROR_FILE_DEFAULT
| #define NM_MPI_ERROR_FILE_DEFAULT | ( | ERRORCODE | ) |
raise an error on the default errhandler for file (attached to MPI_FILE_NULL)
Definition at line 143 of file nm_mpi_private.h.
◆ NM_MPI_ERROR_INTERNAL
| #define NM_MPI_ERROR_INTERNAL | ( | ERRORCODE | ) | (ERRORCODE) |
marks an error as internal, not needing to call the handler
Definition at line 117 of file nm_mpi_private.h.
◆ NM_MPI_ERROR_SESSION
| #define NM_MPI_ERROR_SESSION | ( | P_SESSION, | |
| ERRORCODE | |||
| ) |
raise an error on the given session
Definition at line 125 of file nm_mpi_private.h.
◆ NM_MPI_ERROR_WIN
| #define NM_MPI_ERROR_WIN | ( | P_WIN, | |
| ERRORCODE | |||
| ) |
raise an error on the given window
Definition at line 131 of file nm_mpi_private.h.
◆ NM_MPI_ERROR_WORLD
| #define NM_MPI_ERROR_WORLD | ( | ERRORCODE | ) |
Definition at line 148 of file nm_mpi_private.h.
◆ NM_MPI_FATAL_ERROR
| #define NM_MPI_FATAL_ERROR | ( | ... | ) | NM_FATAL(__VA_ARGS__) |
Definition at line 183 of file nm_mpi_private.h.
◆ NM_MPI_GROUP_CHECK
| #define NM_MPI_GROUP_CHECK | ( | P_GROUP | ) |
check that the given group is valid
Definition at line 159 of file nm_mpi_private.h.
◆ NM_MPI_PMPI
| #define NM_MPI_PMPI | ( | SYM_MPI | ) | __typeof__(SYM_MPI) P ## SYM_MPI /* trailing semicolon is supposed to be added by caller */ |
◆ NM_MPI_SESSION_CHECK
| #define NM_MPI_SESSION_CHECK | ( | P_SESSION | ) |
check that the given session is valid
Definition at line 164 of file nm_mpi_private.h.
◆ nm_mpi_spin_destroy
| #define nm_mpi_spin_destroy | ( | LOCK | ) | nm_spin_destroy(LOCK) |
Definition at line 66 of file nm_mpi_private.h.
◆ nm_mpi_spin_init
| #define nm_mpi_spin_init | ( | LOCK | ) | nm_spin_init(LOCK) |
Definition at line 65 of file nm_mpi_private.h.
◆ nm_mpi_spin_lock
| #define nm_mpi_spin_lock | ( | LOCK | ) | nm_spin_lock(LOCK) |
Definition at line 67 of file nm_mpi_private.h.
◆ nm_mpi_spin_unlock
| #define nm_mpi_spin_unlock | ( | LOCK | ) | nm_spin_unlock(LOCK) |
Definition at line 68 of file nm_mpi_private.h.
◆ nm_mpi_spinlock_t
| #define nm_mpi_spinlock_t nm_spinlock_t |
Definition at line 64 of file nm_mpi_private.h.
◆ NM_MPI_TAG_CHECK_RECV
| #define NM_MPI_TAG_CHECK_RECV | ( | TAG | ) | do { if(((TAG) != MPI_ANY_TAG) && ((TAG) < 0 || (TAG) > NM_MPI_TAG_MAX)) return NM_MPI_ERROR_COMM(p_comm, MPI_ERR_TAG); } while(0) |
check that tag is a valid tag for a recv operation
Definition at line 174 of file nm_mpi_private.h.
◆ NM_MPI_TAG_CHECK_SEND
| #define NM_MPI_TAG_CHECK_SEND | ( | TAG | ) | do { if( ((TAG) < 0) || ((TAG) > NM_MPI_TAG_MAX) || ((TAG) == MPI_ANY_TAG)) return NM_MPI_ERROR_COMM(p_comm, MPI_ERR_TAG); } while(0) |
check that tag is a valid tag for a send operation
Definition at line 178 of file nm_mpi_private.h.
◆ NM_MPI_TAG_MAX
| #define NM_MPI_TAG_MAX ((nm_tag_t)(0x7FFFFFFF)) |
Maximum value of the tag specified by the end-user.
Definition at line 200 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_ALLGATHER
| #define NM_MPI_TAG_PRIVATE_ALLGATHER ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x1D)) |
Definition at line 217 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_ALLREDUCE
| #define NM_MPI_TAG_PRIVATE_ALLREDUCE ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x1A)) |
Definition at line 214 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_ALLTOALL
| #define NM_MPI_TAG_PRIVATE_ALLTOALL ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x17)) |
Definition at line 211 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_ALLTOALLV
| #define NM_MPI_TAG_PRIVATE_ALLTOALLV ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x18)) |
Definition at line 212 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_BARRIER
| #define NM_MPI_TAG_PRIVATE_BARRIER ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x11)) |
Definition at line 205 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_BASE
| #define NM_MPI_TAG_PRIVATE_BASE ((nm_tag_t)(0xF0000000)) |
Base value for private tags.
Definition at line 204 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_BCAST
| #define NM_MPI_TAG_PRIVATE_BCAST ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x12)) |
Definition at line 206 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_COMM_CREATE
| #define NM_MPI_TAG_PRIVATE_COMM_CREATE ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0xF2)) |
Definition at line 224 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_COMM_INFO
| #define NM_MPI_TAG_PRIVATE_COMM_INFO ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0xF3)) |
Definition at line 225 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_COMM_SPLIT
| #define NM_MPI_TAG_PRIVATE_COMM_SPLIT ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0xF1)) |
Definition at line 223 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_FILE_OPEN
| #define NM_MPI_TAG_PRIVATE_FILE_OPEN ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0xF4)) |
Definition at line 226 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_GATHER
| #define NM_MPI_TAG_PRIVATE_GATHER ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x13)) |
Definition at line 207 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_GATHERV
| #define NM_MPI_TAG_PRIVATE_GATHERV ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x14)) |
Definition at line 208 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_MASK
| #define NM_MPI_TAG_PRIVATE_MASK ((nm_tag_t)(0x80000000)) |
Mask for private tags.
Definition at line 202 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_REDUCE
| #define NM_MPI_TAG_PRIVATE_REDUCE ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x19)) |
Definition at line 213 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_REDUCESCATTER
| #define NM_MPI_TAG_PRIVATE_REDUCESCATTER ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x1C)) |
Definition at line 216 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_ACC
| #define NM_MPI_TAG_PRIVATE_RMA_ACC ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0x3)) |
accumulate
Definition at line 251 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_BASE
| #define NM_MPI_TAG_PRIVATE_RMA_BASE ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x08000000)) |
Masks for RMA-communication tags.
Definition at line 228 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC
| #define NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x04000000)) |
Definition at line 229 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_CAS_REQ
| #define NM_MPI_TAG_PRIVATE_RMA_CAS_REQ ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0x6)) |
compare and swap
Definition at line 254 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_END
| #define NM_MPI_TAG_PRIVATE_RMA_END ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC | 0x02)) |
Definition at line 242 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_FAO_REQ
| #define NM_MPI_TAG_PRIVATE_RMA_FAO_REQ ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0x5)) |
fetch and op
Definition at line 253 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_GACC_REQ
| #define NM_MPI_TAG_PRIVATE_RMA_GACC_REQ ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0x4)) |
get_accumulate
Definition at line 252 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_GET_REQ
| #define NM_MPI_TAG_PRIVATE_RMA_GET_REQ ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0x2)) |
Definition at line 250 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_LOCK
| #define NM_MPI_TAG_PRIVATE_RMA_LOCK ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC | 0x13)) |
lock request
Definition at line 243 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_LOCK_R
| #define NM_MPI_TAG_PRIVATE_RMA_LOCK_R ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC | 0x04)) |
lock ACK
Definition at line 244 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_MASK
| #define NM_MPI_TAG_PRIVATE_RMA_MASK |
Definition at line 238 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_MASK_AOP
| #define NM_MPI_TAG_PRIVATE_RMA_MASK_AOP ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0xF0)) |
acc operation mask
Definition at line 231 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_MASK_FOP
| #define NM_MPI_TAG_PRIVATE_RMA_MASK_FOP |
full operation mask
Definition at line 233 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_MASK_OP
| #define NM_MPI_TAG_PRIVATE_RMA_MASK_OP ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0x0F)) |
rma operation mask
Definition at line 230 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_MASK_SEQ
| #define NM_MPI_TAG_PRIVATE_RMA_MASK_SEQ ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0xFFFF00)) |
Definition at line 234 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_MASK_SYNC
| #define NM_MPI_TAG_PRIVATE_RMA_MASK_SYNC ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC | 0xFFFFFFFF000000FF)) |
Definition at line 240 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_MASK_USER
| #define NM_MPI_TAG_PRIVATE_RMA_MASK_USER |
Definition at line 236 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_MASK_WIN
| #define NM_MPI_TAG_PRIVATE_RMA_MASK_WIN ((nm_tag_t)(0xFFFFFFFF00000000 | NM_MPI_TAG_PRIVATE_RMA_BASE)) |
Definition at line 235 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_OP_CHECK
| #define NM_MPI_TAG_PRIVATE_RMA_OP_CHECK ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC | 0x0F)) |
If dynamic window, tells if target address is valid.
Definition at line 248 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_PUT
| #define NM_MPI_TAG_PRIVATE_RMA_PUT ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0x1)) |
Definition at line 249 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_REQ_RESP
| #define NM_MPI_TAG_PRIVATE_RMA_REQ_RESP ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE | 0xF)) |
Definition at line 255 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_START
| #define NM_MPI_TAG_PRIVATE_RMA_START ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC | 0x01)) |
Definition at line 241 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_UNLOCK
| #define NM_MPI_TAG_PRIVATE_RMA_UNLOCK ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC | 0x05)) |
unlock request
Definition at line 245 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_RMA_UNLOCK_R
| #define NM_MPI_TAG_PRIVATE_RMA_UNLOCK_R ((nm_tag_t)(NM_MPI_TAG_PRIVATE_RMA_BASE_SYNC | 0x06)) |
unlock ACK
Definition at line 246 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_SCAN
| #define NM_MPI_TAG_PRIVATE_SCAN ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x1B)) |
Definition at line 215 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_SCATTER
| #define NM_MPI_TAG_PRIVATE_SCATTER ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x15)) |
Definition at line 209 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_SCATTERV
| #define NM_MPI_TAG_PRIVATE_SCATTERV ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x16)) |
Definition at line 210 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_TYPE_ADD
| #define NM_MPI_TAG_PRIVATE_TYPE_ADD ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x21)) |
add a datatype; tag is 0xF0XXXX21 where XXXX is seq number (16 bits)
Definition at line 218 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_TYPE_ADD_ACK
| #define NM_MPI_TAG_PRIVATE_TYPE_ADD_ACK ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x22)) |
answer to add request
Definition at line 219 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_WIN_BARRIER
| #define NM_MPI_TAG_PRIVATE_WIN_BARRIER ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x25)) |
Definition at line 222 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_WIN_FENCE
| #define NM_MPI_TAG_PRIVATE_WIN_FENCE ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x24)) |
Definition at line 221 of file nm_mpi_private.h.
◆ NM_MPI_TAG_PRIVATE_WIN_INIT
| #define NM_MPI_TAG_PRIVATE_WIN_INIT ((nm_tag_t)(NM_MPI_TAG_PRIVATE_BASE | 0x23)) |
Definition at line 220 of file nm_mpi_private.h.
◆ NM_MPI_TRACE
| #define NM_MPI_TRACE | ( | str, | |
| ... | |||
| ) | NM_TRACEF(str, ## __VA_ARGS__) |
Definition at line 185 of file nm_mpi_private.h.
◆ NM_MPI_WARNING
| #define NM_MPI_WARNING | ( | ... | ) | NM_WARN(__VA_ARGS__) |
Definition at line 181 of file nm_mpi_private.h.
Typedef Documentation
◆ nm_mpi_errhandler_t
| typedef struct nm_mpi_errhandler_s nm_mpi_errhandler_t |
error handler
Function Documentation
◆ nm_mpi_info_destructor()
| void nm_mpi_info_destructor | ( | char * | p_key, |
| char * | p_data | ||
| ) |
◆ nm_mpi_refcount_init()
|
inlinestatic |
Definition at line 189 of file nm_mpi_private.h.
References nm_refcount_init().

◆ PUK_HASHTABLE_TYPE()
| PUK_HASHTABLE_TYPE | ( | nm_mpi_info | , |
| char * | , | ||
| char * | , | ||
| & | puk_hash_string_default_hash, | ||
| & | puk_hash_string_default_eq, | ||
| & | nm_mpi_info_destructor | ||
| ) |
hashtable type for info entries
Variable Documentation
◆ nm_mpi_file_errhandler
|
extern |
default errhandler for files, attached to MPI_FILE_NULL