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