Commit bb0ba018 authored by Thomas Jahns's avatar Thomas Jahns 🤸
Browse files

Change MPI_Win_create calls to hint on no_locks usage.

parent fea7020b
......@@ -461,6 +461,9 @@ void modelWinCreate ( void )
modelWinDefBufferSizes ();
ranks[0] = commInqNProcsModel ();
MPI_Info no_locks_info;
xmpi(MPI_Info_create(&no_locks_info));
xmpi(MPI_Info_set(no_locks_info, "no_locks", "true"));
for ( collID = 0; collID < nProcsColl; collID ++ )
{
xassert(txWin[collID].size > 0);
......@@ -471,12 +474,15 @@ void modelWinCreate ( void )
txWin[collID].head = txWin[collID].buffer
+ txWin[collID].dictSize * sizeof (struct winHeaderEntry);
xmpi(MPI_Win_create(txWin[collID].buffer, (MPI_Aint)txWin[collID].size, 1,
MPI_INFO_NULL, commInqCommsIO(collID),
no_locks_info, commInqCommsIO(collID),
&txWin[collID].win));
xmpi(MPI_Comm_group(commInqCommsIO(collID), &txWin[collID].ioGroup));
xmpi(MPI_Group_incl(txWin[collID].ioGroup, 1, ranks,
&txWin[collID].ioGroup ));
}
xmpi(MPI_Info_free(&no_locks_info));
xdebug("%s", "RETURN, CREATED MPI_WIN'S");
}
......
......@@ -151,16 +151,18 @@ collDefBufferSizes()
/************************************************************************/
static
void serverWinCreate ()
{
static void
serverWinCreate(void)
{
int ranks[1], modelID;
MPI_Comm commCalc = commInqCommCalc ();
MPI_Group groupCalc;
int nProcsModel = commInqNProcsModel ();
MPI_Info no_locks_info;
xmpi(MPI_Info_create(&no_locks_info));
xmpi(MPI_Info_set(no_locks_info, "no_locks", "true"));
xmpi ( MPI_Win_create ( MPI_BOTTOM, 0, 1, MPI_INFO_NULL,
commCalc, &getWin ));
xmpi(MPI_Win_create(MPI_BOTTOM, 0, 1, no_locks_info, commCalc, &getWin));
/* target group */
ranks[0] = nProcsModel;
......@@ -177,6 +179,8 @@ static
rxWin[modelID].buffer = rxWin[0].buffer + ofs;
}
xmpi(MPI_Info_free(&no_locks_info));
xdebug("%s", "created mpi_win, allocated getBuffer");
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment