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