[MPI3 Fortran] Deprecate mpif.h?

N.M. Maclaren nmm1 at cam.ac.uk
Thu Mar 4 03:07:16 CST 2010

On Mar 3 2010, Supalov, Alexander wrote:
>Thanks. Let me sketch a sad yet very realistic artificial example.
> Imagine a hapless owner of 10-million lines of mostly Fortran IV code, 
> with some C inlays, whose original authors retired 25 years ago. Every 
> single change after that goes thru the ISO 9000 certification process. 
> And still they need to get the 5% performance increase the NB collectives 
> may bring.
>Now tell them they must "use mpi3" for that. Shudder.

That actually raises a point, where I realise that I was jumping to
conclusions.  MPI 2.1 requires interoperability between mpif.h and
module MPI.

    Is the intent to allow a single program to use modules MPI and
    module MPI3 in separately compiled parts?

If the answer is "yes", I don't see a problem.  There are two likely

    1) The certification rules require revalidation if anything is
changed.  In that case, adding a single non-blocking collective adds
as much revalidation effort as changing to USE MPI3 throughout.

    2) The certification rules require revalidation only of changed
code and interfaces.  In that case, it is easy to separate out the
code that uses the non-blocking collectives and just revalidate that.

I don't think that adding restrictions on mixing MPI and MPI3 would
be all that hard.  One could reasonably say that (say) constants,
communicators and groups are sharable, but requests are not.  And so

Nick Maclaren.

More information about the mpiwg-fortran mailing list