Received: from charybdis.rus.uni-stuttgart.de (root@charybdis.rus.uni-stuttgart.de [129.69.1.58]) by antares.mcs.anl.gov (8.6.10/8.6.10) with ESMTP id CAA05843; Fri, 18 Jun 1999 02:24:26 -0500 Received: from awsrr.rus.uni-stuttgart.de (awsrr.rus.uni-stuttgart.de [129.69.14.187]) by charybdis.rus.uni-stuttgart.de (8.8.8/8.8.8) with SMTP id JAA21130; Fri, 18 Jun 1999 09:24:23 +0200 (MET DST) env-from (rusrabe@awsrr.rus.uni-stuttgart.de) Received: by awsrr.rus.uni-stuttgart.de (940816.SGI.8.6.9/BelWue-1.0SG(subsidiary)) (for ) id JAA16277; Fri, 18 Jun 1999 09:24:22 +0200 From: rusrabe@awsrr.rus.uni-stuttgart.de (Rolf Rabenseifner) Message-Id: <199906180724.JAA16277@awsrr.rus.uni-stuttgart.de> Subject: Re: MPI_PROC_NULL as target rank in RMA To: gropp@mcs.anl.gov (William Gropp) Date: Fri, 18 Jun 1999 09:24:22 +0200 (DST) Cc: mpi-core@mcs.anl.gov In-Reply-To: <4.1.19990617130027.00bede50@localhost> from "William Gropp" at Jun 17, 99 01:04:44 pm Content-Type: text X-UIDL: 9733c32f1c770b7f5143115168e331bf Bill Gropp wrote: > Is it invalid to use MPI_PROC_NULL as the target rank in MPI_Put, MPI_Get, > and MPI_Accumulate? I can make the case both for and against this, based > on the text in the standard. It would match the spirit of the standard > (which says that MPI_PUT is like a send at the origin and a receive at the > target) to allow MPI_PROC_NULL. > > Bill My vote is to allow MPI_PROC_NULL in MPI_PUT, MPI_GET and MPI_ACCUMULATE. My reasons are: - MPI 2.0 page 115:1-4 "The data transfer [of MPI_PUT] is the same as that which would occur if the origin process executed a send operation with arguments ... target_rank, ... and the target process executed a receive operation with arguments ... source, ..." in combination with MPI 1.1 page 60:47-48 "The special value MPI_PROC_NULL can be used instead of a rank whereever a source or destination argument is required." For me, this implies that the same rules are valid for the "target_rank" of MPI_PUT as for the "dest" in MPI_SEND and this means that MPI_PROC_NULL is allowed. (Bill, have you seen these lines on page 115 before writing "I can make the case both for and against this, based on the text in the standard." ?) - Same argument for MPI_GET with MPI 2.0, page 116:35 "Similar to MPI_PUT, except that the direction of data transfer is reversed." - Same argument for MPI_ACCUMULATE based of MPI 2.0, page 120:1-2 "This is like MPI_PUT except that data is combined into the target area instead of overwriting it." - I didn't find any wording in the standard against usage of MPI_PROC_NULL in the "one-sided" chapter. - spirit of MPI_PROC_NULL Rolf Rolf Rabenseifner High Performance Computing Parallel Computing Center Stuttgart (HLRS) Rechenzentrum Universitaet Stuttgart (RUS) Phone: ++49 711 6855530 Allmandring 30 FAX: ++49 711 6787626 D-70550 Stuttgart rabenseifner@rus.uni-stuttgart.de Germany http://www.hlrs.de/people/rabenseifner