Jeff Squyres wrote on Fri, 24 Jun 2011 at 09:46:10
On Jun 24, 2011, at 12:20 PM, Hubert Ritzdorf wrote:
There are (compiled) libraries and object files containing the corresponding external references to MPI_SEND, mpi_send__, mpi_send_ or mpi_send. Therefore, you cannot simply change the interface of the MPI_Send routine without breaking these libraries. You can also not simply expect that they will be recompiled.
I think it is reasonable to ask applications / libraries / etc. to recompile with MPI-3. This has been the position of the Forum.
There's a difference between recompiling to take advantage of MPI-3 features, and recompiling because MPI-3 has broken backward compatibility. I don't think it's reasonable to ask applications that don't take advantage of MPI-3 features to recompile - applications that may have to go through a certification process for no end-user benefit. I don't think we want MPI-3 to require implementations to break backward compatibility for Fortran codes like this. Merging from your other mail to make it clear:
if (Craig's proposal is accepted) { if (implementation has implemented Craig's proposal) { // call this "Case A" if (app uses mpif.h or "use mpi" interface) { tool will find mpi_send_f
Right here, you just broke backward compatibility.
// ...and others listed in Craig's proposal }
Now, if your "Case A" is for recompiled apps, while still providing the old upper case, lower case, one and two underscore symbols, then there's no problem. From what I gather, this is not what you're proposing though, but it's quite likely I've missed something... Cheers, -Fab