remove hard coded constants for value of MPI_TAG_UB and the max CID and add
the values to the PML structure. This will allow PMLs that want to do hardware matching at the cost of a smaller range of valid tags and cids. Updated all the places that used the MPI_TAG_UB_VALUE constant to instead look at the pml struct. This commit was SVN r6778.
Этот коммит содержится в:
родитель
eee5b649a7
Коммит
95fd068ffa
@ -147,7 +147,6 @@ typedef int (MPI_Grequest_cancel_function)(void *, int);
|
|||||||
#define MPI_DISTRIBUTE_CYCLIC 1 /* cyclic distribution */
|
#define MPI_DISTRIBUTE_CYCLIC 1 /* cyclic distribution */
|
||||||
#define MPI_DISTRIBUTE_NONE 2 /* not distributed */
|
#define MPI_DISTRIBUTE_NONE 2 /* not distributed */
|
||||||
#define MPI_DISTRIBUTE_DFLT_DARG (-1) /* default distribution arg */
|
#define MPI_DISTRIBUTE_DFLT_DARG (-1) /* default distribution arg */
|
||||||
#define MPI_TAG_UB_VALUE (0x7fffffff)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Since these values are arbitrary to Open MPI, we might as well make
|
* Since these values are arbitrary to Open MPI, we might as well make
|
||||||
|
@ -80,14 +80,15 @@
|
|||||||
|
|
||||||
#include "attribute/attribute.h"
|
#include "attribute/attribute.h"
|
||||||
|
|
||||||
#include "errhandler/errclass.h"
|
#include "ompi/errhandler/errclass.h"
|
||||||
#include "communicator/communicator.h"
|
#include "ompi/communicator/communicator.h"
|
||||||
#include "util/proc_info.h"
|
#include "orte/util/proc_info.h"
|
||||||
#include "util/sys_info.h"
|
#include "opal/util/sys_info.h"
|
||||||
#include "mca/ns/ns.h"
|
#include "ompi/mca/pml/pml.h"
|
||||||
#include "mca/gpr/gpr.h"
|
#include "orte/mca/ns/ns.h"
|
||||||
#include "mca/errmgr/errmgr.h"
|
#include "orte/mca/gpr/gpr.h"
|
||||||
#include "mca/schema/schema.h"
|
#include "orte/mca/errmgr/errmgr.h"
|
||||||
|
#include "orte/mca/schema/schema.h"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -145,7 +146,7 @@ int ompi_attr_create_predefined(void)
|
|||||||
where triggers aren't set, there won't be COMM_SPAWN, so APPNUM
|
where triggers aren't set, there won't be COMM_SPAWN, so APPNUM
|
||||||
probably isn't a big deal. */
|
probably isn't a big deal. */
|
||||||
|
|
||||||
if (OMPI_SUCCESS != (ret = set_f(MPI_TAG_UB, MPI_TAG_UB_VALUE)) ||
|
if (OMPI_SUCCESS != (ret = set_f(MPI_TAG_UB, MCA_PML_CALL(max_tag))) ||
|
||||||
OMPI_SUCCESS != (ret = set_f(MPI_HOST, MPI_PROC_NULL)) ||
|
OMPI_SUCCESS != (ret = set_f(MPI_HOST, MPI_PROC_NULL)) ||
|
||||||
OMPI_SUCCESS != (ret = set_f(MPI_IO, MPI_ANY_SOURCE)) ||
|
OMPI_SUCCESS != (ret = set_f(MPI_IO, MPI_ANY_SOURCE)) ||
|
||||||
OMPI_SUCCESS != (ret = set_f(MPI_WTIME_IS_GLOBAL, 0)) ||
|
OMPI_SUCCESS != (ret = set_f(MPI_WTIME_IS_GLOBAL, 0)) ||
|
||||||
|
@ -30,8 +30,6 @@
|
|||||||
#include "mca/coll/base/base.h"
|
#include "mca/coll/base/base.h"
|
||||||
#include "mca/rml/rml.h"
|
#include "mca/rml/rml.h"
|
||||||
|
|
||||||
#define OMPI_MAX_COMM 32768
|
|
||||||
|
|
||||||
#if defined(c_plusplus) || defined(__cplusplus)
|
#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
@ -166,7 +164,7 @@ int ompi_comm_nextcid ( ompi_communicator_t* newcomm,
|
|||||||
OPAL_THREAD_UNLOCK(&ompi_cid_lock);
|
OPAL_THREAD_UNLOCK(&ompi_cid_lock);
|
||||||
|
|
||||||
|
|
||||||
for (i=start; i<OMPI_MAX_COMM ;i++) {
|
for (i=start; i < MCA_PML_CALL(max_contextid) ; i++) {
|
||||||
flag=ompi_pointer_array_test_and_set_item(&ompi_mpi_communicators, i, comm);
|
flag=ompi_pointer_array_test_and_set_item(&ompi_mpi_communicators, i, comm);
|
||||||
if (true == flag) {
|
if (true == flag) {
|
||||||
nextlocal_cid = i;
|
nextlocal_cid = i;
|
||||||
|
@ -30,7 +30,9 @@ mca_pml_example_t mca_pml_example = {
|
|||||||
mca_pml_example_send,
|
mca_pml_example_send,
|
||||||
mca_pml_example_iprobe,
|
mca_pml_example_iprobe,
|
||||||
mca_pml_example_probe,
|
mca_pml_example_probe,
|
||||||
mca_pml_example_start
|
mca_pml_example_start,
|
||||||
|
32768,
|
||||||
|
(0x7fffffff)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -49,7 +49,9 @@ mca_pml_ob1_t mca_pml_ob1 = {
|
|||||||
mca_pml_ob1_send,
|
mca_pml_ob1_send,
|
||||||
mca_pml_ob1_iprobe,
|
mca_pml_ob1_iprobe,
|
||||||
mca_pml_ob1_probe,
|
mca_pml_ob1_probe,
|
||||||
mca_pml_ob1_start
|
mca_pml_ob1_start,
|
||||||
|
32768,
|
||||||
|
(0x7fffffff)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -462,6 +462,10 @@ struct mca_pml_base_module_1_0_0_t {
|
|||||||
mca_pml_base_module_iprobe_fn_t pml_iprobe;
|
mca_pml_base_module_iprobe_fn_t pml_iprobe;
|
||||||
mca_pml_base_module_probe_fn_t pml_probe;
|
mca_pml_base_module_probe_fn_t pml_probe;
|
||||||
mca_pml_base_module_start_fn_t pml_start;
|
mca_pml_base_module_start_fn_t pml_start;
|
||||||
|
|
||||||
|
/* maximum constant sizes */
|
||||||
|
uint32_t pml_max_contextid;
|
||||||
|
int pml_max_tag;
|
||||||
};
|
};
|
||||||
typedef struct mca_pml_base_module_1_0_0_t mca_pml_base_module_1_0_0_t;
|
typedef struct mca_pml_base_module_1_0_0_t mca_pml_base_module_1_0_0_t;
|
||||||
typedef mca_pml_base_module_1_0_0_t mca_pml_base_module_t;
|
typedef mca_pml_base_module_1_0_0_t mca_pml_base_module_t;
|
||||||
|
@ -52,7 +52,9 @@ mca_pml_teg_t mca_pml_teg = {
|
|||||||
mca_pml_teg_send,
|
mca_pml_teg_send,
|
||||||
mca_pml_teg_iprobe,
|
mca_pml_teg_iprobe,
|
||||||
mca_pml_teg_probe,
|
mca_pml_teg_probe,
|
||||||
mca_pml_teg_start
|
mca_pml_teg_start,
|
||||||
|
32768,
|
||||||
|
(0x7fffffff)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -53,7 +53,9 @@ mca_pml_uniq_t mca_pml_uniq = {
|
|||||||
mca_pml_uniq_send,
|
mca_pml_uniq_send,
|
||||||
mca_pml_uniq_iprobe,
|
mca_pml_uniq_iprobe,
|
||||||
mca_pml_uniq_probe,
|
mca_pml_uniq_probe,
|
||||||
mca_pml_uniq_start
|
mca_pml_uniq_start,
|
||||||
|
32768,
|
||||||
|
(0x7fffffff)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ int MPI_Bsend(void *buf, int count, MPI_Datatype type, int dest, int tag, MPI_Co
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -50,7 +50,7 @@ int MPI_Bsend_init(void *buf, int count, MPI_Datatype type,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -51,7 +51,7 @@ int MPI_Ibsend(void *buf, int count, MPI_Datatype type, int dest,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -48,7 +48,7 @@ int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status
|
|||||||
if ( MPI_PARAM_CHECK ) {
|
if ( MPI_PARAM_CHECK ) {
|
||||||
rc = MPI_SUCCESS;
|
rc = MPI_SUCCESS;
|
||||||
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
|
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
|
||||||
if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MPI_TAG_UB_VALUE)) {
|
if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MCA_PML_CALL(max_tag))) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_invalid(comm)) {
|
} else if (ompi_comm_invalid(comm)) {
|
||||||
rc = MPI_ERR_COMM;
|
rc = MPI_ERR_COMM;
|
||||||
|
@ -50,7 +50,7 @@ int MPI_Irecv(void *buf, int count, MPI_Datatype type, int source,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MPI_TAG_UB_VALUE)) {
|
} else if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MCA_PML_CALL(max_tag))) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (source != MPI_ANY_SOURCE &&
|
} else if (source != MPI_ANY_SOURCE &&
|
||||||
source != MPI_PROC_NULL &&
|
source != MPI_PROC_NULL &&
|
||||||
|
@ -50,7 +50,7 @@ int MPI_Irsend(void *buf, int count, MPI_Datatype type, int dest,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -50,7 +50,7 @@ int MPI_Isend(void *buf, int count, MPI_Datatype type, int dest,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -51,7 +51,7 @@ int MPI_Issend(void *buf, int count, MPI_Datatype type, int dest,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -47,7 +47,7 @@ int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status)
|
|||||||
if ( MPI_PARAM_CHECK ) {
|
if ( MPI_PARAM_CHECK ) {
|
||||||
rc = MPI_SUCCESS;
|
rc = MPI_SUCCESS;
|
||||||
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
|
OMPI_ERR_INIT_FINALIZE(FUNC_NAME);
|
||||||
if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MPI_TAG_UB_VALUE)) {
|
if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MCA_PML_CALL(max_tag))) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_invalid(comm)) {
|
} else if (ompi_comm_invalid(comm)) {
|
||||||
rc = MPI_ERR_COMM;
|
rc = MPI_ERR_COMM;
|
||||||
|
@ -55,7 +55,7 @@ int MPI_Recv(void *buf, int count, MPI_Datatype type, int source,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MPI_TAG_UB_VALUE)) {
|
} else if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MCA_PML_CALL(max_tag))) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (source != MPI_ANY_SOURCE && ompi_comm_peer_invalid(comm, source)) {
|
} else if (source != MPI_ANY_SOURCE && ompi_comm_peer_invalid(comm, source)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -50,7 +50,7 @@ int MPI_Recv_init(void *buf, int count, MPI_Datatype type, int source,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MPI_TAG_UB_VALUE)) {
|
} else if (((tag < 0) && (tag != MPI_ANY_TAG)) || (tag > MCA_PML_CALL(max_tag))) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (source != MPI_ANY_SOURCE &&
|
} else if (source != MPI_ANY_SOURCE &&
|
||||||
source != MPI_PROC_NULL &&
|
source != MPI_PROC_NULL &&
|
||||||
|
@ -48,7 +48,7 @@ int MPI_Rsend(void *buf, int count, MPI_Datatype type, int dest, int tag, MPI_Co
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -51,7 +51,7 @@ int MPI_Rsend_init(void *buf, int count, MPI_Datatype type,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -48,7 +48,7 @@ int MPI_Send(void *buf, int count, MPI_Datatype type, int dest,
|
|||||||
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_COMM, FUNC_NAME);
|
return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_COMM, FUNC_NAME);
|
||||||
} else if (count < 0) {
|
} else if (count < 0) {
|
||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -51,7 +51,7 @@ int MPI_Send_init(void *buf, int count, MPI_Datatype type,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -51,7 +51,7 @@ int MPI_Sendrecv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
|||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (dest != MPI_PROC_NULL && ompi_comm_peer_invalid(comm, dest)) {
|
} else if (dest != MPI_PROC_NULL && ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
} else if (sendtag < 0 || sendtag > MPI_TAG_UB_VALUE) {
|
} else if (sendtag < 0 || sendtag > MCA_PML_CALL(max_tag) ) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (recvcount < 0) {
|
} else if (recvcount < 0) {
|
||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
@ -59,7 +59,7 @@ int MPI_Sendrecv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
|
|||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (source != MPI_PROC_NULL && source != MPI_ANY_SOURCE && ompi_comm_peer_invalid(comm, source)) {
|
} else if (source != MPI_PROC_NULL && source != MPI_ANY_SOURCE && ompi_comm_peer_invalid(comm, source)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
} else if (((recvtag < 0) && (recvtag != MPI_ANY_TAG)) || (recvtag > MPI_TAG_UB_VALUE)) {
|
} else if (((recvtag < 0) && (recvtag != MPI_ANY_TAG)) || (recvtag > MCA_PML_CALL(max_tag))) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
}
|
}
|
||||||
OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME);
|
OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME);
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include "datatype/datatype.h"
|
#include "datatype/datatype.h"
|
||||||
#include "datatype/convertor.h"
|
#include "datatype/convertor.h"
|
||||||
#include "errhandler/errhandler.h"
|
#include "errhandler/errhandler.h"
|
||||||
|
#include "ompi/mca/pml/pml.h"
|
||||||
|
|
||||||
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILING_DEFINES
|
#if OMPI_HAVE_WEAK_SYMBOLS && OMPI_PROFILING_DEFINES
|
||||||
#pragma weak MPI_Sendrecv_replace = PMPI_Sendrecv_replace
|
#pragma weak MPI_Sendrecv_replace = PMPI_Sendrecv_replace
|
||||||
@ -51,11 +52,11 @@ int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype,
|
|||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (dest != MPI_PROC_NULL && ompi_comm_peer_invalid(comm, dest)) {
|
} else if (dest != MPI_PROC_NULL && ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
} else if (sendtag < 0 || sendtag > MPI_TAG_UB_VALUE) {
|
} else if (sendtag < 0 || sendtag > MCA_PML_CALL(max_tag) ) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (source != MPI_PROC_NULL && source != MPI_ANY_SOURCE && ompi_comm_peer_invalid(comm, source)) {
|
} else if (source != MPI_PROC_NULL && source != MPI_ANY_SOURCE && ompi_comm_peer_invalid(comm, source)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
} else if (((recvtag < 0) && (recvtag != MPI_ANY_TAG)) || (recvtag > MPI_TAG_UB_VALUE)) {
|
} else if (((recvtag < 0) && (recvtag != MPI_ANY_TAG)) || (recvtag > MCA_PML_CALL(max_tag))) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
}
|
}
|
||||||
OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME);
|
OMPI_ERRHANDLER_CHECK(rc, comm, rc, FUNC_NAME);
|
||||||
|
@ -48,7 +48,7 @@ int MPI_Ssend(void *buf, int count, MPI_Datatype type, int dest, int tag, MPI_Co
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
@ -51,7 +51,7 @@ int MPI_Ssend_init(void *buf, int count, MPI_Datatype type,
|
|||||||
rc = MPI_ERR_COUNT;
|
rc = MPI_ERR_COUNT;
|
||||||
} else if (type == MPI_DATATYPE_NULL) {
|
} else if (type == MPI_DATATYPE_NULL) {
|
||||||
rc = MPI_ERR_TYPE;
|
rc = MPI_ERR_TYPE;
|
||||||
} else if (tag < 0 || tag > MPI_TAG_UB_VALUE) {
|
} else if (tag < 0 || tag > MCA_PML_CALL(max_tag)) {
|
||||||
rc = MPI_ERR_TAG;
|
rc = MPI_ERR_TAG;
|
||||||
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
} else if (ompi_comm_peer_invalid(comm, dest)) {
|
||||||
rc = MPI_ERR_RANK;
|
rc = MPI_ERR_RANK;
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user