Skip to content
Snippets Groups Projects
Commit 72d01c1f authored by Deike Kleberg's avatar Deike Kleberg
Browse files

Bugfixes: Renaming global MPI_Win variable in IOServer.c, changing qualifiers...

Bugfixes: Renaming global MPI_Win variable in IOServer.c, changing qualifiers of function arguments.
parent ff156155
No related branches found
No related tags found
No related merge requests found
......@@ -440,40 +440,39 @@ void modelWinCreate ( void )
static
void modelWinBufferPutAtEnd ( const char * caller,
int ID, void * argBuffer, size_t size )
int collID, const void * argBuffer, size_t size )
{
char text[1024];
/*
xdebug ( "ID=%d, size=%d, newBufferHead=%d, oldBufferSize=%d",
ID, size, winBufferHead[ID] - winBuffer[ID] + size, winBufferSize[ID] );
xdebug ( "collID=%d, size=%d, newBufferHead=%d, oldBufferSize=%d",
collID, size, winBufferHead[collID] - winBuffer[collID] + size,
winBufferSize[collID] );
*/
if ( winBufferHead == NULL ||
argBuffer == NULL ||
size < 0 ||
ID < 0 ||
ID >= commInqNProcsColl () ||
winBufferHead[ID] - winBuffer[ID] + size > winBufferSize[ID] )
collID < 0 ||
collID >= commInqNProcsColl () ||
winBufferHead[collID] - winBuffer[collID] + size > winBufferSize[collID] )
{
sprintf ( text, "caller: %s", caller );
xabort ( text );
}
memcpy ( winBufferHead[ID], argBuffer, size );
winBufferHead[ID] += size;
memcpy ( winBufferHead[collID], argBuffer, size );
winBufferHead[collID] += size;
}
/************************************************************************/
void pioBufferData ( int streamIDarg, int varIDarg, const double *data, int nmiss )
void pioBufferData ( const int streamID, const int varID, const double *data, int nmiss )
{
int chunk, streamID, varID, vlistID, collID = CDI_UNDEFID;
int chunk, vlistID, collID = CDI_UNDEFID;
int tokenSep = SEPARATOR, tokenData = DATATOKEN;
size_t size;
void * vp;
int rankModel = commInqRankModel ();
streamID = streamIDarg;
varID = varIDarg;
vlistID = streamInqVlist ( streamID );
collID = commRankGlob2CollID ( vlistInqVarIOrank ( vlistID, varID ));
chunk = vlistInqVarDecoChunk ( vlistID, varID, rankModel );
......
......@@ -24,13 +24,13 @@
extern resOps streamOps;
extern void arrayDestroy ( void );
MPI_Comm * commPio;
MPI_Win win;
MPI_Group groupModel;
MPI_Comm * commPio;
int * getBufferSize = NULL;
unsigned char ** getBuffer = NULL;
unsigned char ** getBufferHead = NULL;
MPI_Win getWin;
MPI_Group groupModel;
/************************************************************************/
......@@ -41,7 +41,7 @@ void serverWinCleanup ()
int i;
int nProcsCalc = commInqNProcsModel ();
xmpi ( MPI_Win_free ( &win ));
xmpi ( MPI_Win_free ( &getWin ));
if ( getBuffer )
{
......@@ -119,7 +119,7 @@ static
int nProcsModel = commInqNProcsModel ();
xmpi ( MPI_Win_create ( MPI_BOTTOM, 0, 1, MPI_INFO_NULL,
commCalc, &win ));
commCalc, &getWin ));
/* target group */
ranks[0] = nProcsModel;
......@@ -362,15 +362,15 @@ void getData ( int tsID, int vdate, int vtime )
// todo put in correct lbs and ubs
xassert ( tsID >= 0 && vdate >= 0 && vtime >= 0 );
xmpi ( MPI_Win_start ( groupModel, iAssert, win ));
xmpi ( MPI_Win_start ( groupModel, iAssert, getWin ));
for ( modelID = 0; modelID < nProcsModel; modelID++ )
{
getFlushBuffer ( modelID );
xmpi ( MPI_Get ( &getBuffer[modelID][0], getBufferSize[modelID],
MPI_UNSIGNED_CHAR, modelID, 0,
getBufferSize[modelID], MPI_UNSIGNED_CHAR, win ));
getBufferSize[modelID], MPI_UNSIGNED_CHAR, getWin ));
}
xmpi ( MPI_Win_complete ( win ));
xmpi ( MPI_Win_complete ( getWin ));
if ( ddebug > 2 )
for ( modelID = 0; modelID < nProcsModel; modelID++ )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment