Don’t try to cancel sends. https://github.com/mpi-forum/mpi-issues/issues/27 has some useful info.
Jeff On Wed, Oct 2, 2019 at 7:17 AM Christian Von Kutzleben via users < users@lists.open-mpi.org> wrote: > Hi, > > I’m currently evaluating to use openmpi (4.0.1) in our application. > > We are using a construct like this for some cleanup functionality, to > cancel some Send requests: > > *if* (*req != MPI_REQUEST_NULL) { > MPI_Cancel(req); > MPI_Wait(req, MPI_STATUS_IGNORE); > assert(*req == MPI_REQUEST_NULL); > } > > However the MPI_Wait hangs indefinitely and I’ve debugged into it and I > came across this in pml_ob1_sendreq.c, eventually invoked from MPI_Cancel > in my scenario: > > *static* *int* *mca_pml_ob1_send_request_cancel*(*struct* ompi_request_t* > request, *int* complete) > { > /* we dont cancel send requests by now */ > *return* OMPI_SUCCESS; > } > > The man page for MPI_Cancel does not mention that cancelling Send requests > does not work, so I’m wondering, > whether this is a current limitation or are we not supposed to end up in > this specific …_request_cancel implementation? > > Thank you in advance! > > Christian > -- Jeff Hammond jeff.scie...@gmail.com http://jeffhammond.github.io/