[Mpi-forum] SENDRECV + MPI_TYPE_CREATE_STRUCT
Diego Avesani
diego.avesani at gmail.com
Thu Oct 2 10:20:57 CDT 2014
Dear all.
I have some problem with MPI_TYPE_CREATE_STRUCT and as a consequence
with SENDRECV.
I have this variable type
*type particle*
*integer :: ip*
* real :: RP(2)*
* real :: QQ(4)*
*end type particle*
When I compile in double precision with:
*mpif90 -r8 -fpp -DPARALLEL *.f90 *
So when I create my own variable type for MPI, I have
*TYPES(1)=MPI_INTEGER !We have three variables
type in the new varible*
*TYPES(2)=MPI_DOUBLE_PRECISION !Integer and Real and Real*
* TYPES(3)=MPI_DOUBLE_PRECISION !Integer and Real and Real*
* nBLOCKS(1)=1 !number of
element in each block *
* nBLOCKS(2)=2*
* nBLOCKS(3)=4*
* !*
* DISPLACEMENTS(1)=0*
* DISPLACEMENTS(2)=sizeof(dummy%ip)*
*
DISPLACEMENTS(3)=sizeof(dummy%ip)+sizeof(dummy%RP(1))+sizeof(dummy%RP(2))*
* ! *
* CALL
MPI_TYPE_CREATE_STRUCT(3,nBLOCKS,DISPLACEMENTS,TYPES,MPI_PARTICLE_TYPE,
PI%ierr)*
* CALL MPI_TYPE_COMMIT(MPI_PARTICLE_TYPE,MPI%ierr)*
Am I right?
Thanks, in advance, for any kind of help
Diego
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpi-forum/attachments/20141002/039de761/attachment.html>
More information about the mpi-forum
mailing list