Newsgroups: comp.parallel.mpi
From: Hubertus Franke <frankeh>
Subject: Re: Waiting only on last requestor between two procs
Organization: IBM T.J. Watson Research Center
Date: 27 Oct 1995 18:03:33 GMT
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <46r6tl$jer@watnews1.watson.ibm.com>

It is legal to do so, BUT (and this is a big one).
                      ===
An MPI implementation will not know that it can reuse internal 
resources kept by req[0..2]. One should assume that these internal
resources are limited.

So as your example stands, it's highly un-recommendable.
You have to choices
a) don't do this
b) explicitely call MPI_Request_free(&req[i=0..2]).
   This will then force the MPI implementation to coplete
   the communication <in-the-background> and free all resources on completion.
   NOTE, the standard advices MPI users NOT to do this !!!!!
   This is interpreted by some implementations as a hint to check
   and disallow it.

So my suggestion to you, DON'T do it.


