Updating the F08 tests to 'use mpi_f08' was mostly straightforward. However, i ran into problems with three of the tests: irsendf08.f90, pssendf08.f90 and prsendf08.f90. With my modified irsendf08 (attached) for example, the test produces these error messages: Nonnull request in irsend and irecv [ 0 ] Unexpected source: 0 in irsend and irecv [ 0 ] Unexpected tag: 0 in irsend and irecv [ 0 ] Unexpected count: 0 in irsend and irecv Invalid data 0.0 at 1 of 666 in irsend and irecv Invalid data 0.0 at 2 of 666 in irsend and irecv ... Invalid data 0.0 at 666 of 666 in irsend and irecv Found 669 errors That is, the last message from process 1 to 0 is not received correctly. When I replace the call to MPI_Waitany with Waitall or Wait there are not errors. Is there maybe a problem with Waitany or did I just do something wrong? Gregor On 07.01.22 17:59, Raffenetti, Ken wrote:
We would consider a patch, yes. First, you would need to sign and return the contributors agreement. https://www.mpich.org/documentation/contributor-docs/
As for whether or not automatic conversion is practical, I think if we structured the tests such that the types needing conversion were easily identifiable, then it could be done. It would require some churn of the existing tests. It may also complicate the addition of new, as the author would need to adhere to guidelines that may not be obvious without prior knowledge.
I gave myself a task to support automatic conversion of the tests the `use mpi_f08`, but it is not very high priority at the moment.
Ken
On 1/7/22, 3:10 AM, "Gregor Corbin via discuss" <[email protected]> wrote:
Hi MPICH,
I noticed that some of the tests in test/mpi/f08 still work with 'use mpi' instead of 'use mpi_f08', mostly in the pt2pt folder. These seem to be copies of the tests in f90 which in turn have been generated by f77tof90.
Shouldn't these tests be converted to 'use mpi_f08'? If so, would you be interested in a PR that fixes this? I would need to do this anyway.
Kind regards,
Gregor Corbin
PS.: The interfaces for 'use mpi' and 'use mpi_f08' are probably too different for an automatic conversion to be practical (how to change all the integers to type(mpi_xxx) for example?).