Thanks Tim.  I've since noticed similar problems with MPI_Allgatherv and
MPI_Scatterv.  I'm guessing they are all related.  Do you happen to know
if those are being fixed as well?

-Ken

> -----Original Message-----
> From: users-boun...@open-mpi.org [mailto:users-boun...@open-mpi.org]
On
> Behalf Of Tim Mattox
> Sent: Tuesday, December 11, 2007 3:34 PM
> To: Open MPI Users
> Subject: Re: [OMPI users] Problems with GATHERV on one process
> 
> Hello Ken,
> This is a known bug, which is fixed in the upcoming 1.2.5 release.  We
> expect 1.2.5
> to come out very soon.  We should have a new release candidate for
1.2.5
> posted
> by tomorrow.
> 
> See these tickets about the bug if you care to look:
> https://svn.open-mpi.org/trac/ompi/ticket/1166
> https://svn.open-mpi.org/trac/ompi/ticket/1157
> 
> On Dec 11, 2007 2:48 PM, Moreland, Kenneth <kmo...@sandia.gov> wrote:
> > I recently ran into a problem with GATHERV while running some
randomized
> > tests on my MPI code.  The problem seems to occur when running
> > MPI_Gatherv with a displacement on a communicator with a single
process.
> > The code listed below exercises this errant behavior.  I have tried
it
> > on OpenMPI 1.1.2 and 1.2.4.
> >
> > Granted, this is not a situation that one would normally run into in
a
> > real application, but I just wanted to check to make sure I was not
> > doing anything wrong.
> >
> > -Ken
> >
> >
> >
> > #include <mpi.h>
> >
> > #include <stdlib.h>
> > #include <stdio.h>
> >
> > int main(int argc, char **argv)
> > {
> >   int rank;
> >   MPI_Comm smallComm;
> >   int senddata[4], recvdata[4], length, offset;
> >
> >   MPI_Init(&argc, &argv);
> >
> >   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
> >
> >   // Split up into communicators of size 1.
> >   MPI_Comm_split(MPI_COMM_WORLD, rank, 0, &smallComm);
> >
> >   // Now try to do a gatherv.
> >   senddata[0] = 5; senddata[1] = 6; senddata[2] = 7; senddata[3] =
8;
> >   recvdata[0] = 0; recvdata[1] = 0; recvdata[2] = 0; recvdata[3] =
0;
> >   length = 3;
> >   offset = 1;
> >   MPI_Gatherv(senddata, length, MPI_INT,
> >               recvdata, &length, &offset, MPI_INT, 0, smallComm);
> >   if (senddata[0] != recvdata[offset])
> >     {
> >     printf("%d: %d != %d?\n", rank, senddata[0], recvdata[offset]);
> >     }
> >   else
> >     {
> >     printf("%d: Everything OK.\n", rank);
> >     }
> >
> >   return 0;
> > }
> >
> >    ****      Kenneth Moreland
> >     ***      Sandia National Laboratories
> > ***********
> > *** *** ***  email: kmo...@sandia.gov
> > **  ***  **  phone: (505) 844-8919
> >     ***      fax:   (505) 845-0833
> >
> >
> >
> > _______________________________________________
> > users mailing list
> > us...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
> >
> 
> --
> Tim Mattox, Ph.D. - http://homepage.mac.com/tmattox/
>  tmat...@gmail.com || timat...@open-mpi.org
>     I'm a bright... http://www.the-brights.net/
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users



Reply via email to