Skip to content

Fix wrong error marker for Imrecv local concurrency tests

This marks MPI_Imrecv as error source instead of the MPI_Mprobe call for the local concurrency issue.

Before:

  if (rank == 0) {
    /*MBBERROR_BEGIN*/ MPI_Mprobe(1, 0, MPI_COMM_WORLD, &mpi_message_0, MPI_STATUS_IGNORE);  /*MBBERROR_END*/
    MPI_Imrecv(buf, 10, MPI_INT, &mpi_message_0,
                                  &mpi_request_0);
    /*MBBERROR_BEGIN*/ buf[2] = 1;                 /*MBBERROR_END*/
    MPI_Wait(&mpi_request_0, MPI_STATUS_IGNORE);
  }

After:

  if (rank == 0) {
    MPI_Mprobe(1, 0, MPI_COMM_WORLD, &mpi_message_0, MPI_STATUS_IGNORE);
    /*MBBERROR_BEGIN*/ MPI_Imrecv(buf, 10, MPI_INT, &mpi_message_0,
                                  &mpi_request_0); /*MBBERROR_END*/
    /*MBBERROR_BEGIN*/ buf[2] = 1;                 /*MBBERROR_END*/
    MPI_Wait(&mpi_request_0, MPI_STATUS_IGNORE);
  }
Edited by Simon Schwitanski

Merge request reports

Loading