[MPICH2-dev] a problem with one-sided communication

Thomas Worsch worsch at ira.uka.de
Mon Mar 20 09:40:03 CST 2006


Dear experts,

when chasing down a problem a user has with the onesided benchmarks in
SKaMPI-5 we ended up with the following simple program:

#include <stdio.h>
#include <mpi.h>

int main(int argc, char* argv[])
{
  MPI_Win win;
  MPI_Group group;

  MPI_Init(&argc, &argv);

  MPI_Win_create(NULL, 0, 1, MPI_INFO_NULL, MPI_COMM_WORLD, &win);
  MPI_Win_get_group(win, &group);
  
  MPI_Win_post(group, 0, win);
  MPI_Win_start(group, 0, win);
  
  printf("before MPI_Win_complete\n");  /* this is the only output we get */
  MPI_Win_complete(win);
  printf("after MPI_complete\n");       /* we never get to this point ??? */
  
  MPI_Win_wait(win);

  MPI_Finalize();
  return 0;
}

The observation is that this program runs just fine (we tried 1 and 2
processes) on an IBM SP and on our PCs using LAM 7.1.1, but it
apparently hangs in MPI_Win_complete when using mpich2 (we tried 0.971
and 1.0.3).

Is this behavior compliant with the mpi2 standard?

Best regards,

Thomas Worsch
(for the SKaMPI-5 team)




More information about the mpich2-dev mailing list