Re: [MPI3 Fortran] MPI-3, the Interoperability TR and choice buffers
On Sep 28 2010, Rolf Rabenseifner wrote:
yes, you are right. It looks like that assumed-rank does not work as we expected.
I am afraid so. I won't duplicate Bill's points.
To have a maximum of backward compatibility, we have to use "impolicit interfaces" from mpif.h as a first basis.
Yes.
From this, argument checking with a declaration
SUBROUTINE MPI_Send(buf, ...) !DEC$ ATTRIBUTES NO_ARG_CHECK :: buf !$PRAGMA IGNORE_TKR buf INTEGER , dimension(*) :: buf
A separate comment is that it would be a good idea to drop those DEC- and Sun-specific directives, as they are very confusing and unsuitable for a portable specification.
At the same time, the MPI standard can require, that the compilation script (i.e., mpif90, mpicc, or whatever used) must switch on compiler options that guarantee that for skalars, arrays and contiguous subarrays call-by-reference is used (I know that the MPI standard does not require this, but the usage of such a compiler for MPI applications can and should require this).
Not at all. Just specify BIND(C). That's there for the purpose, and is in Fortran 90.
With this, we still have copy-in-copy-out for all non-contiguous subarrays.
Yes. And potentially others.
Why is the dope-vector and all behind not defined in a way that it can handle - normal (scalar) varibles (as zero-ranked) - multidimensional arrays and subarrays - ***and*** ***also*** such assumed-size arrays?
That was my proposal. Bill's CDESC would also solve this problem, and is probably the minimal change to the TR that would.
Based on the compilation-reqeirement (call-by-ref whereever possible) for MPI programming environments, we can give the hint that an assumed-size array can be substituted by a fixed size array or by its first element.
No. Postitively NOT! The first element hack applies ONLY when sequence association is used, and that (in this context) applies only when the called procedure is declared with BIND(C), an assumed-size array and no other new attributes. Regards, Nick.
participants (1)
-
N.M. Maclaren