0

I have implemented a kind of distributed array for a specific application using MPI. I have tried to use RMA (MPI_Get) to get updated values for the portion of the array which is under responsibility of other processes. We have done what is specified at tutorials: MPI_Win_create MPI_Win_fence a bunch of MPI_Get (circa 8.000 per processes) MPI_Win_fence

The problem is that all processes hang at the second MPI_Win_fence and never returns. Can anyone give some help? Is the number of MPI_Get a problem?

Regards, Adenilso

Hristo Iliev
  • 72,659
  • 12
  • 135
  • 186
  • Impossible to answer without more code. Could be a bug in RMA, could be an issue with your program. Can't say unless you provide example code. – Rob Latham Sep 04 '14 at 13:54
  • Ok. I will prepare a cleaned-up code. However, if I artificially restrain the number of MPI_Get's each process executed to, say, 100, the program progresses normally. – user1740800 Sep 04 '14 at 15:09
  • That's perfect. A small-ish code that works with a small number of outstanding gets but breaks with lots of gets would either a: show the problem or b: make a great bug report against your MPI implementation. What mpi implementation are you using, anyway? – Rob Latham Sep 04 '14 at 15:58

0 Answers0