Thank you for the hint. I thought that "the same process" refers to the locked
window, not to the calling process.
Maybe I can work around this restriction with a dummy window for
> On 4/3/12 12:01 PM, "Sebastian Rettenberger" <rettenbs_at_[hidden]> wrote:
> >I posted the bug report a week ago, but unfortunately I didn't get any
> >The example (see bug report) is very simple, however it still fails.
> >Other MPI
> >versions work fine (e.g. Intel MPI).
> >This is a real show stopper for me. Any help is appreciated.
> Your code is actually erroneous, as you are trying to enter two access
> epochs simultaneously on the same window. The text at issue is the 3rd
> paragraph of section 11.4 of MPI-2.2:
> Distinct access epochs for win at the same process must be disjoint.
> On the other hand, epochs pertaining to different win arguments
> may overlap. Local operations or other MPI calls may also occur
> during an epoch.
> Both lock calls will start a distinct access epoch on win, so you must
> complete the local lock before attempting to start the remote lock.
> This is actually a stupid and pointless rule in the MPI-2 one-sided
> chapter. I'm not entirely sure why I took advantage of it when I
> implemented the one-sided code, but I did, so I had to make the
> implementation not allow multiple access epochs. The other
> implementations you mention probably didn't optimize lock in a way that
> made supporting multiple access epochs simultaneously difficult, and
> therefore allow them.
> The good news is that MPI-3 removed the access epoch restriction and as
> part of the 1.7 release (hopefully this year), we'll have an MPI-3
> compliant one-sided implementation.