Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] Win_fence() with assertion=MPI_MODE_NOPRECEDE|MPI_MODE_NOSUCCEED
From: Lisandro Dalcin (dalcinl_at_[hidden])
Date: 2014-04-21 07:11:47


Open MPI errors in Win_fence() when the assertion contains both
MPI_MODE_NOPRECEDE and MPI_MODE_NOSUCCEED

Could you explain me why the following code is wrong? Please note that
the fence call with assertion !=0 is issued before and after fence
calls with assertion=0, and I'm not making any modification to the
local window, nor issuing any RMA call. My understanding of MPI RMA
operations is quite limited, but I would say that my code is valid and
should not fail.

[dalcinl_at_kw2060 openmpi]$ cat win_fence.c
#include <mpi.h>
int main(int argc, char *argv[])
{
  MPI_Win win;
  MPI_Init(&argc, &argv);
  MPI_Win_create(MPI_BOTTOM, 0, 1, MPI_INFO_NULL, MPI_COMM_SELF, &win);
  MPI_Win_fence(0, win);
  MPI_Win_fence(MPI_MODE_NOSTORE|MPI_MODE_NOPUT|MPI_MODE_NOPRECEDE|MPI_MODE_NOSUCCEED,
win);
  MPI_Win_fence(0, win);
  MPI_Finalize();
  return 0;
}
[dalcinl_at_kw2060 openmpi]$ mpicc win_fence.c
[dalcinl_at_kw2060 openmpi]$ ./a.out
[kw2060:19890] *** An error occurred in MPI_Win_fence
[kw2060:19890] *** reported by process [140737129086977,0]
[kw2060:19890] *** on win rdma window 3
[kw2060:19890] *** MPI_ERR_ASSERT: invalid assert argument
[kw2060:19890] *** MPI_ERRORS_ARE_FATAL (processes in this win will now abort,
[kw2060:19890] *** and potentially your MPI job)
[dalcinl_at_kw2060 openmpi]$

-- 
Lisandro Dalcin
---------------
CIMEC (UNL/CONICET)
Predio CONICET-Santa Fe
Colectora RN 168 Km 472, Paraje El Pozo
3000 Santa Fe, Argentina
Tel: +54-342-4511594 (ext 1016)
Tel/Fax: +54-342-4511169