Commit 7ca5dce2 authored by sjplimp's avatar sjplimp Committed by GitHub
Browse files

Merge pull request #423 from timattox/master_bugfix_irregular

bugfix for irregular::create_atom and create_data
parents fcc3b3bd ae5ebf60
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -190,6 +190,13 @@ int MPI_Type_size(MPI_Datatype datatype, int *size)

/* ---------------------------------------------------------------------- */

int MPI_Request_free(MPI_Request *request)
{
  return 0;
}

/* ---------------------------------------------------------------------- */

int MPI_Send(const void *buf, int count, MPI_Datatype datatype,
             int dest, int tag, MPI_Comm comm)
{
+1 −0
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ int MPI_Finalize();
double MPI_Wtime();

int MPI_Type_size(int, int *);
int MPI_Request_free(MPI_Request *request);

int MPI_Send(const void *buf, int count, MPI_Datatype datatype,
             int dest, int tag, MPI_Comm comm);
+6 −2
Original line number Diff line number Diff line
@@ -395,7 +395,9 @@ int Irregular::create_atom(int n, int *sizes, int *proclist, int sortflag)

  sendmax_proc = 0;
  for (i = 0; i < nsend_proc; i++) {
    MPI_Send(&length_send[i],1,MPI_INT,proc_send[i],0,world);
    MPI_Request tmpReq; // Use non-blocking send to avoid possible deadlock
    MPI_Isend(&length_send[i],1,MPI_INT,proc_send[i],0,world,&tmpReq);
    MPI_Request_free(&tmpReq); // the MPI_Barrier below marks completion
    sendmax_proc = MAX(sendmax_proc,length_send[i]);
  }

@@ -641,7 +643,9 @@ int Irregular::create_data(int n, int *proclist, int sortflag)

  sendmax_proc = 0;
  for (i = 0; i < nsend_proc; i++) {
    MPI_Send(&num_send[i],1,MPI_INT,proc_send[i],0,world);
    MPI_Request tmpReq; // Use non-blocking send to avoid possible deadlock
    MPI_Isend(&num_send[i],1,MPI_INT,proc_send[i],0,world,&tmpReq);
    MPI_Request_free(&tmpReq); // the MPI_Barrier below marks completion
    sendmax_proc = MAX(sendmax_proc,num_send[i]);
  }