Hello all,
I've been trying to use MPI_Alltoallw
from a fortran program, without much
success. I believe the reason for this
is likely to be that (for version 7.1.1
of LAM, at least), the relevant wrapper
(share/mpi/f77/alltoallw_f.c) actually
calls MPI_Alltoallv, with the same
arguments (as Alltoallw).
As a result, the displacement arguments
are interpreted as MPI datatype extents
instead of bytes, and data types other
than the first in send and recvtypes
will be ignored. I've bodged together
the attached replacement for the
wrapper, which seems to work for me
(but I lack experience with this sort
of stuff) - have I got this right?
Regards,
Roderick
--
Roderick Johnstone
Computational Science and Engineering
CCLRC Daresbury Laboratory
Daresbury, Cheshire, UK
|