A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed return values for several MPI_WIN functions
[simgrid.git]
/
src
/
smpi
/
smpi_pmpi.c
diff --git
a/src/smpi/smpi_pmpi.c
b/src/smpi/smpi_pmpi.c
index 7c060285c195611b479cccb85347551b4b163ad1..f9c75dbc6ecd7ae346975586ec28b599412cfaad 100644
(file)
--- a/
src/smpi/smpi_pmpi.c
+++ b/
src/smpi/smpi_pmpi.c
@@
-2697,7
+2697,7
@@
int PMPI_Cart_create(MPI_Comm comm_old, int ndims, int* dims, int* periodic, int
if (comm_old == MPI_COMM_NULL){
retval = MPI_ERR_COMM;
} else if (ndims < 0 ||
if (comm_old == MPI_COMM_NULL){
retval = MPI_ERR_COMM;
} else if (ndims < 0 ||
- (ndims > 0 && (dims == NULL ||
+ (ndims > 0 && (dims == NULL ||
periodic == NULL)) ||
comm_cart == NULL) {
retval = MPI_ERR_ARG;
periodic == NULL)) ||
comm_cart == NULL) {
retval = MPI_ERR_ARG;
@@
-2791,7
+2791,7
@@
int PMPI_Type_create_resized(MPI_Datatype oldtype,MPI_Aint lb, MPI_Aint extent,
int blocks[3] = { 1, 1, 1 };
MPI_Aint disps[3] = { lb, 0, lb+extent };
MPI_Datatype types[3] = { MPI_LB, oldtype, MPI_UB };
int blocks[3] = { 1, 1, 1 };
MPI_Aint disps[3] = { lb, 0, lb+extent };
MPI_Datatype types[3] = { MPI_LB, oldtype, MPI_UB };
-
+
s_smpi_mpi_struct_t* subtype = smpi_datatype_struct_create( blocks,
disps,
3,
s_smpi_mpi_struct_t* subtype = smpi_datatype_struct_create( blocks,
disps,
3,
@@
-3021,14
+3021,16
@@
int PMPI_Win_post(MPI_Group group, int assert, MPI_Win win){
} else if (group==MPI_GROUP_NULL){
retval = MPI_ERR_GROUP;
}
} else if (group==MPI_GROUP_NULL){
retval = MPI_ERR_GROUP;
}
+ else {
#ifdef HAVE_TRACING
#ifdef HAVE_TRACING
- int rank = smpi_process_index();
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, NULL);
+
int rank = smpi_process_index();
+
TRACE_smpi_collective_in(rank, -1, __FUNCTION__, NULL);
#endif
#endif
- retval = smpi_mpi_win_post(group,assert,win);
+
retval = smpi_mpi_win_post(group,assert,win);
#ifdef HAVE_TRACING
#ifdef HAVE_TRACING
- TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
#endif
+ }
smpi_bench_begin();
return retval;
}
smpi_bench_begin();
return retval;
}
@@
-3041,15
+3043,16
@@
int PMPI_Win_start(MPI_Group group, int assert, MPI_Win win){
} else if (group==MPI_GROUP_NULL){
retval = MPI_ERR_GROUP;
}
} else if (group==MPI_GROUP_NULL){
retval = MPI_ERR_GROUP;
}
-
+ else {
#ifdef HAVE_TRACING
#ifdef HAVE_TRACING
- int rank = smpi_process_index();
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, NULL);
+
int rank = smpi_process_index();
+
TRACE_smpi_collective_in(rank, -1, __FUNCTION__, NULL);
#endif
#endif
- retval = smpi_mpi_win_start(group,assert,win);
+
retval = smpi_mpi_win_start(group,assert,win);
#ifdef HAVE_TRACING
#ifdef HAVE_TRACING
- TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
#endif
+ }
smpi_bench_begin();
return retval;
}
smpi_bench_begin();
return retval;
}
@@
-3061,15
+3064,16
@@
int PMPI_Win_complete(MPI_Win win){
if (win == MPI_WIN_NULL) {
retval = MPI_ERR_WIN;
}
if (win == MPI_WIN_NULL) {
retval = MPI_ERR_WIN;
}
-
+ else {
#ifdef HAVE_TRACING
#ifdef HAVE_TRACING
- int rank = smpi_process_index();
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, NULL);
+
int rank = smpi_process_index();
+
TRACE_smpi_collective_in(rank, -1, __FUNCTION__, NULL);
#endif
#endif
- retval = smpi_mpi_win_complete(win);
+
retval = smpi_mpi_win_complete(win);
#ifdef HAVE_TRACING
#ifdef HAVE_TRACING
- TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
#endif
+ }
smpi_bench_begin();
return retval;
}
smpi_bench_begin();
return retval;
}
@@
-3080,14
+3084,16
@@
int PMPI_Win_wait(MPI_Win win){
if (win == MPI_WIN_NULL) {
retval = MPI_ERR_WIN;
}
if (win == MPI_WIN_NULL) {
retval = MPI_ERR_WIN;
}
+ else {
#ifdef HAVE_TRACING
#ifdef HAVE_TRACING
- int rank = smpi_process_index();
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, NULL);
+
int rank = smpi_process_index();
+
TRACE_smpi_collective_in(rank, -1, __FUNCTION__, NULL);
#endif
#endif
- retval = smpi_mpi_win_wait(win);
+
retval = smpi_mpi_win_wait(win);
#ifdef HAVE_TRACING
#ifdef HAVE_TRACING
- TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
#endif
+ }
smpi_bench_begin();
return retval;
}
smpi_bench_begin();
return retval;
}
@@
-3332,10
+3338,10
@@
int PMPI_Info_get(MPI_Info info,char *key,int valuelen, char *value, int *flag){
return MPI_ERR_ARG;
if (value == NULL)
return MPI_ERR_INFO_VALUE;
return MPI_ERR_ARG;
if (value == NULL)
return MPI_ERR_INFO_VALUE;
- *flag=FALSE;
+ *flag=FALSE;
char* tmpvalue=(char*)xbt_dict_get_or_null(info->info_dict, key);
if(tmpvalue){
char* tmpvalue=(char*)xbt_dict_get_or_null(info->info_dict, key);
if(tmpvalue){
- memcpy(value,tmpvalue, (strlen(tmpvalue) + 1 < valuelen) ?
+ memcpy(value,tmpvalue, (strlen(tmpvalue) + 1 < valuelen) ?
strlen(tmpvalue) + 1 : valuelen);
*flag=TRUE;
}
strlen(tmpvalue) + 1 : valuelen);
*flag=TRUE;
}
@@
-3397,7
+3403,7
@@
int PMPI_Info_get_nthkey( MPI_Info info, int n, char *key){
int PMPI_Info_get_valuelen( MPI_Info info, char *key, int *valuelen, int *flag){
if (info == NULL || key == NULL || valuelen <0)
return MPI_ERR_ARG;
int PMPI_Info_get_valuelen( MPI_Info info, char *key, int *valuelen, int *flag){
if (info == NULL || key == NULL || valuelen <0)
return MPI_ERR_ARG;
- *flag=FALSE;
+ *flag=FALSE;
char* tmpvalue=(char*)xbt_dict_get_or_null(info->info_dict, key);
if(tmpvalue){
*valuelen=strlen(tmpvalue);
char* tmpvalue=(char*)xbt_dict_get_or_null(info->info_dict, key);
if(tmpvalue){
*valuelen=strlen(tmpvalue);
@@
-3433,9
+3439,9
@@
int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int* size)
return MPI_ERR_TYPE;
if(comm==MPI_COMM_NULL)
return MPI_ERR_COMM;
return MPI_ERR_TYPE;
if(comm==MPI_COMM_NULL)
return MPI_ERR_COMM;
-
+
*size=incount*smpi_datatype_size(datatype);
*size=incount*smpi_datatype_size(datatype);
-
+
return MPI_SUCCESS;
}
return MPI_SUCCESS;
}