On 4/3/12 12:01 PM, "Sebastian Rettenberger" <rette...@in.tum.de> wrote:
>I posted the bug report a week ago, but unfortunately I didn't get any >response: >https://svn.open-mpi.org/trac/ompi/ticket/3067 > >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. Brian -- Brian W. Barrett Dept. 1423: Scalable System Software Sandia National Laboratories