Thanks very much, have a nice weekend!

best regards,
Huangwei






On 15 September 2013 11:29, Jeff Squyres (jsquyres) <jsquy...@cisco.com>wrote:

> On Sep 14, 2013, at 12:21 PM, Huangwei <hz...@cam.ac.uk> wrote:
>
> >      do i=1, N-1
> >           allocate (QRECS(A(i)))
> >           itag = i
> >          call mpi_recv(QRECS......., i, itag, .................)
> >           deallocate(QRECS)
> >      enddo
>
> I assume you're doing more than just allocate/mpi_recv/deallocate.  :-)
>
> I don't know what A(i) is, so it's hard to say whether this is correct or
> not.
>
> > Will this cause any problem using this way to introducing QRECS?
>
> I don't know.
>
> Can you make a small program that reproduces the problem?
>
> > Besides, the reasonable why I did not choose mpi_gatherv is that the
> QRECS will put into YVAR in a non-consecutive way. for instance, if I have
> 4 processors, the first element in YVAR is from rank 0, second from rank 1
> ......fourth from rank 3, and then fifth from rank 0 again, sixth from rank
> 1 again....... But I will try your suggestion.
>
> Depending on how big the arrays are, it may still be faster/simpler to
> gather(v) to a single array and copy to the final array.  Shrug.  It
> depends on what your program is doing, and whether that is wort it to you.
>
> To be clear: either way should work fine; there may or may not be coding
> and/or performance implications of each.
>
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>

Reply via email to