Date: Tue, 23 Jan 2001 10:32:21 -0500 From: Nicholas Nevin - Sun HPC High Performance Computing To: Rolf Rabenseifner Cc: mpi-core@XXXXXXXXXXX Subject: Re: Buffer overlap with collective communications User-Agent: Mutt/1.3.9i Sender: owner-mpi-core@XXXXXXXXXXXXX On Tue, Jan 23, 2001 at 10:49:40AM +0100, Rolf Rabenseifner wrote: > Hi, > > I have a request that asks about the rules about > an overlap of sendbuf and recvbuf in collective > communications. > He stated, that he cannot see, where it is forbidden > in the MPI 1.1 standard. > He uses MPI_BOTTOM and datatypes with absolute addresses. > > Where does MPI-1.1 forbid the overlap of sendbuf and recvbuf > in collective communications? > > Any idea to solve this problem? > > Best regards > Rolf > Refer him to section 2.2 of the MPI 1.1 standard. I believe the following makes overlap of the buffers illegal. Unless specified otherwise, an argument of type OUT or type INOUT cannot be aliased with any other argument passed to an MPI procedure. An example of argument aliasing in C appears below. If we define a C procedure like this, void copyIntBuffer( int *pin, int *pout, int len ) { int i; for (i=0; i