From: Raja Daoud Subject: Re: MPI_PROC_NULL in MPI_GROUP_TRANSLATE_RANKS To: mpi-core@XXXXXXXXXXX Date: Thu, 27 Jan 2000 1:56:44 CST In-Reply-To: <8525686C.005C114D.00@XXXXXXXXXXXXXXXXXXXX> Reply-To: raja@XXXXXXXXXX X-Mailer: Elm [revision: 112.8] Sender: owner-mpi-core@XXXXXXXXXXX Precedence: bulk > I have not reviewed the statements in the standard but from a "what makes > sense" perspective I think MPI_GROUP_TRANSLATE_RANKS should happily > translate MPI_PROC_NULL to MPI_PROC_NULL. This would make the function friendlier. It looks like we may actually have sufficient wiggle-room to allow it via a "clarification" to the standard, and not have to mess with an "extension." The description of the "ranks1" array of MPI_GROUP_TRANSLATE_RANKS, page 138, line 5, is: "array of zero or more valid ranks in group1." The text of the function does not elaborate on this. In contrast, the text of MPI_GROUP_INCL is specific (page 140, lines 44-45): "Each of the n elements of ranks must be a valid rank in group ..." So the "zero or more" can be interpreted as allowing invalid ranks to be translated without triggering an error. So the clarification would only need to clamp down on how to translate the invalid ranks in a standard way, fixing this omission in the spec. For example, we could have MPI_PROC_NULL map to itself, and all other invalid ranks, including MPI_UNDEFINED, map to MPI_UNDEFINED. --Raja