<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Dear Mark,<br>
<br>
On 4/14/10 9:19 PM, Mark Williamson wrote:
<blockquote cite="mid:4BC61549.60100@sdsc.edu" type="cite"><br>
So, this brings me to my question. My understanding is that
MPI_IN_PLACE is a MPI-2 specific argument value. The piece of AMBER
code that I refer to in this discussion written within the a MPI-1
standard. As stated on the MPICH2 home page, "MPICH2 is a
high-performance and widely portable implementation of the Message
Passing Interface (MPI) standard (<b class="moz-txt-star"><span
class="moz-txt-tag">*</span>BOTH<span class="moz-txt-tag">*</span></b>
MPI-1 and MPI-2)". If I use MPI_IN_PLACE, the code will not be MPI-1
standard, so how to I specific instruct MPICH2's mpif90 or mpirun that
one is using a MPI-1 code, hence avoiding this error?
<br>
</blockquote>
To the best of my knowledge, overlapping send and receive buffers is
also illegal in the MPI-1 standard. On page 7 of the MPI 1.3 it is said:<br>
<br>
"Unless specified otherwise, an argument of type OUT or type INOUT
cannot be aliased with any other argument passed to an MPI procedure."<br>
<br>
I think this applies in your suituation. So, if you don't want to use
MPI_IN_PLACE you would need to duplicate the buffer.<br>
<br>
Regards,<br>
Dorian<br>
<br>
<br>
<br>
<br>
</body>
</html>