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
Change size of 2 fortran MPI datatypes.
[simgrid.git]
/
src
/
smpi
/
mpi
/
smpi_datatype.cpp
diff --git
a/src/smpi/mpi/smpi_datatype.cpp
b/src/smpi/mpi/smpi_datatype.cpp
index
de11260
..
d56464d
100644
(file)
--- a/
src/smpi/mpi/smpi_datatype.cpp
+++ b/
src/smpi/mpi/smpi_datatype.cpp
@@
-74,8
+74,9
@@
CREATE_MPI_DATATYPE(MPI_2LONG, 37, long_long);
CREATE_MPI_DATATYPE(MPI_REAL, 38, float);
CREATE_MPI_DATATYPE(MPI_REAL4, 39, float);
CREATE_MPI_DATATYPE(MPI_REAL, 38, float);
CREATE_MPI_DATATYPE(MPI_REAL4, 39, float);
-CREATE_MPI_DATATYPE(MPI_REAL8, 40, float);
-CREATE_MPI_DATATYPE(MPI_REAL16, 41, double);
+CREATE_MPI_DATATYPE(MPI_REAL8, 40, double);
+CREATE_MPI_DATATYPE(MPI_REAL16, 41, long double);
+CREATE_MPI_DATATYPE_NULL(MPI_DATATYPE_NULL, -1);
CREATE_MPI_DATATYPE_NULL(MPI_COMPLEX8, 42);
CREATE_MPI_DATATYPE_NULL(MPI_COMPLEX16, 43);
CREATE_MPI_DATATYPE_NULL(MPI_COMPLEX32, 44);
CREATE_MPI_DATATYPE_NULL(MPI_COMPLEX8, 42);
CREATE_MPI_DATATYPE_NULL(MPI_COMPLEX16, 43);
CREATE_MPI_DATATYPE_NULL(MPI_COMPLEX32, 44);
@@
-205,9
+206,6
@@
bool Datatype::is_basic()
const char* Datatype::encode(MPI_Datatype dt)
{
const char* Datatype::encode(MPI_Datatype dt)
{
- if (dt == MPI_DATATYPE_NULL)
- return "-1";
-
return dt->id.c_str();
}
return dt->id.c_str();
}
@@
-294,7
+292,7
@@
int Datatype::copy(void *sendbuf, int sendcount, MPI_Datatype sendtype,
// FIXME Handle the case of a partial shared malloc.
// FIXME Handle the case of a partial shared malloc.
- if
(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP)
{
+ if
(smpi_privatize_global_variables == SmpiPrivStrategies::MMAP)
{
smpi_switch_data_segment(simgrid::s4u::Actor::self());
}
/* First check if we really have something to do */
smpi_switch_data_segment(simgrid::s4u::Actor::self());
}
/* First check if we really have something to do */
@@
-530,7
+528,7
@@
int Datatype::create_subarray(int ndims, int* array_of_sizes,
return MPI_ERR_ARG;
}
}
return MPI_ERR_ARG;
}
}
-
+
MPI_Aint extent = oldtype->get_extent();
int i;
MPI_Aint extent = oldtype->get_extent();
int i;
@@
-545,7
+543,7
@@
int Datatype::create_subarray(int ndims, int* array_of_sizes,
step = 1;
end = ndims;
}
step = 1;
end = ndims;
}
-
+
MPI_Aint size = (MPI_Aint)array_of_sizes[i] * (MPI_Aint)array_of_sizes[i+step];
MPI_Aint lb = (MPI_Aint)array_of_starts[i] + (MPI_Aint)array_of_starts[i+step] *(MPI_Aint)array_of_sizes[i];
MPI_Aint size = (MPI_Aint)array_of_sizes[i] * (MPI_Aint)array_of_sizes[i+step];
MPI_Aint lb = (MPI_Aint)array_of_starts[i] + (MPI_Aint)array_of_starts[i+step] *(MPI_Aint)array_of_sizes[i];
@@
-568,7
+566,7
@@
int Datatype::create_subarray(int ndims, int* array_of_sizes,
//handle LB and UB with a resized call
create_hindexed( 1, sizes, lbs, tmp, newtype);
unref(tmp);
//handle LB and UB with a resized call
create_hindexed( 1, sizes, lbs, tmp, newtype);
unref(tmp);
-
+
tmp = *newtype;
create_resized(tmp, 0, extent, newtype);
tmp = *newtype;
create_resized(tmp, 0, extent, newtype);