NVIDIA/mpi-acx

MPIX_Prequest_create Behaviour

Opened this issue · 1 comments

Hello,

I've been playing with this code and I have a question about the ring-partitioned.cu example.

In this line we only export the send request:

MPIX_Prequest_create(req[0], &preq);

But here we pass the MPIX_Preqest to the MPI_Pready and MPI_Parrived.

mark_ready<<<1, NUM_PARTITIONS, 0, 0>>>(preq);
wait_until_arrived<<<1, NUM_PARTITIONS, 0, 0>>>(preq);

The program completes with no errors, so I suspect that the code is correct. So I have a few questions:

  1. Is MPIX_Prequest_create only required for the sender?
  2. MPIX_Waitall waits for the receiver using the host request therefore we know that it has arrived.
    1. but how does MPIX_Parrived know if that partition has arrived the MPIX_Prequest isn't exported?

Nope, this is a bug. Thanks for reporting it!