Exemplo n.º 1
0
int MPI_Waitall(int count, MPI_Request* request, MPI_Status* status)
{
    int retall = MPI_SUCCESS;

    for(int i = 0; i < count; i++)
    {
        int ret = MPI_ERR_REQUEST;
        if (request[i] != MPI_REQUEST_NULL)
        {
            centry_t* mycentry = cqueue_get_centry((long)request[i]);
            if (mycentry != NULL)
            {
                if (status == MPI_STATUS_IGNORE)
                    ret = cqueue_wait(mycentry, &request[i], MPI_STATUS_IGNORE);
               else
                   ret = cqueue_wait(mycentry, &request[i], &status[i]);
            }
            else
            {
                if (status == MPI_STATUS_IGNORE)
                    ret = PMPI_Wait(&request[i], MPI_STATUS_IGNORE);
               else
                    ret = PMPI_Wait(&request[i], &status[i]);
            }
        }
        if (ret != MPI_SUCCESS) retall = ret;
    }
    return retall;
}
Exemplo n.º 2
0
int MPI_Wait(MPI_Request *request, MPI_Status *status)
{
    int err;
    ALLOCATE_STATUS(newstatus,1)
    err=PMPI_Wait(request,newstatus);
    COPY_STATUS(status,newstatus,1)
    return err;
}
Exemplo n.º 3
0
int   MPI_Wait(MPI_Request *request, MPI_Status *status)
{
  int   returnVal;
  MPI_Request lreq = *request;
  
  returnVal = PMPI_Wait( request, status );

  ProcessWaitTest_1( lreq, status, "MPI_Wait" );

  return returnVal;
}
Exemplo n.º 4
0
int MPI_Wait(MPI_Request* request, MPI_Status* status)
{
    if (*request != MPI_REQUEST_NULL)
    {
        centry_t* mycentry = cqueue_get_centry((long)*request);

        if (mycentry != NULL)
            return cqueue_wait(mycentry, request, status);
        else
            return PMPI_Wait(request, status);
    }

    /* Invalid MPI_Request. Either null or not a persistent request. */
    return MPI_ERR_REQUEST;
}
Exemplo n.º 5
0
/*==========================================================================*/
int MPI_Wait ( MPI_Request* request, MPI_Status* status)
{
  _MPI_COVERAGE();
  return PMPI_Wait(request, status);
}
Exemplo n.º 6
0
int MPI_Wait(MPI_Request *request, MPI_Status *status) {
    if ((*request)->req_mpi_object.comm == MPISPEC_COMM_WORLD) {
        MPI_Start(request);
    }
    return PMPI_Wait(request, status);
}
Exemplo n.º 7
0
int MPI_Wait(MPI_Request * request, MPI_Status * status)
{
  return PMPI_Wait(request, status);
}