N.M. Maclaren wrote:
Eh? No proposal so far has been completely different. The way that MPI is specified, there is no difference between requiring an ASYNCHRONOUS attribute and requiring and ASYNCH_EXTERNAL one. Both need a minor change.
More precisely, no proposals since you have joined the discussion. There have been proposals in the past that would create a "real" Fortran interface for MPI that was completely different from the C interface. It would use assumed-shape dummies. (Solves the copy-in/copy-out problem.) With the associated descriptors, a large number of the arguments to MPI routines could be dropped. (Improves on the difficulty of use problem and reduces coding mistakes.)
As someone with experience of installing and supporting multiple different MPI's on multiple different systems, it is thoroughly undesirable. Almost every compiler requires special flags to work together with MPI non-blocking transfers, those options are only sometimes documented and then typically in a place that only the most expert administrator will find (and no users that I have met). That is a BIG problem.
I agree that there are problems with the current arrangement. I just was pointing out that these problems have been solved in some way or another (perhaps not elegantly). MPI *does* work. Every day in real production. It it didn't, there would be no motivation to continue improving it. Cheers, Bill -- Bill Long [email protected] Fortran Technical Support & voice: 651-605-9024 Bioinformatics Software Development fax: 651-605-9142 Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120