From: Rolf Hempel Date: Tue, 23 Jan 2001 13:06:36 +0100 (MEZ) To: mpi-core@XXXXXXXXXXX Subject: Re: Buffer overlap with collective communications Cc: hempel@XXXXXXXXXXXX Reply-To: hempel@XXXXXXXXXXXXXXXXXXXXXXXXXXX Sender: owner-mpi-core@XXXXXXXXXXXXX Dear Rolf (the other one), In "MPI, The Complete Reference", section 1.7.2 "Procedure Specification", it says: "Unless specified otherwise, an argument of type OUT or type INOUT cannot be aliased with any other argument passed to an MPI procedure." Since the recvbuf argument is of type OUT, and since I don't see where aliasing is allowed explicitly, I conclude that it is forbidden to aliase it with the sendbuf argument. This said, I agree with (the other) Rolf that the descriptions of the collective operations in terms of pt2pt operations are rather sloppy. An example is the MPI_Gather function which is explained in terms of MPI_Sends, executed by all processes (including root), and n MPI_Recvs at root. Even if at root the buffers are not aliased, sending a message to itself (with MPI_Send and MPI_Recv) is unsafe MPI programming, as stated somewhere else in the standard. Best Wishes, Rolf ------------------------------------------------------------------------ Rolf Hempel Manager, C&C Research Laboratories, NEC Europe Ltd. Rathausallee 10, 53757 Sankt Augustin, Germany TEL.: +49 (0) 2241 - 92 52 - 95, FAX: +49 (0) 2241 - 92 52 - 99 EMAIL: hempel@ccrl-nece.de WWW: http://www.ccrl-nece.de/~hempel/