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;
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,
} else if (group==MPI_GROUP_NULL){
retval = MPI_ERR_GROUP;
}
+ else {
#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
- retval = smpi_mpi_win_post(group,assert,win);
+ retval = smpi_mpi_win_post(group,assert,win);
#ifdef HAVE_TRACING
- TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+ TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
+ }
smpi_bench_begin();
return retval;
}
} else if (group==MPI_GROUP_NULL){
retval = MPI_ERR_GROUP;
}
-
+ else {
#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
- retval = smpi_mpi_win_start(group,assert,win);
+ retval = smpi_mpi_win_start(group,assert,win);
#ifdef HAVE_TRACING
- TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+ TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
+ }
smpi_bench_begin();
return retval;
}
if (win == MPI_WIN_NULL) {
retval = MPI_ERR_WIN;
}
-
+ else {
#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
- retval = smpi_mpi_win_complete(win);
+ retval = smpi_mpi_win_complete(win);
#ifdef HAVE_TRACING
- TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+ TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
+ }
smpi_bench_begin();
return retval;
}
if (win == MPI_WIN_NULL) {
retval = MPI_ERR_WIN;
}
+ else {
#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
- retval = smpi_mpi_win_wait(win);
+ retval = smpi_mpi_win_wait(win);
#ifdef HAVE_TRACING
- TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+ TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
+ }
smpi_bench_begin();
return retval;
}
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){
- memcpy(value,tmpvalue, (strlen(tmpvalue) + 1 < valuelen) ?
+ memcpy(value,tmpvalue, (strlen(tmpvalue) + 1 < valuelen) ?
strlen(tmpvalue) + 1 : valuelen);
*flag=TRUE;
}
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);
return MPI_ERR_TYPE;
if(comm==MPI_COMM_NULL)
return MPI_ERR_COMM;
-
+
*size=incount*smpi_datatype_size(datatype);
-
+
return MPI_SUCCESS;
}