[MPI3 Fortran] MPI Fortran bindings
Bill Long
longb at cray.com
Fri Jun 5 07:13:55 CDT 2009
Jeff Squyres wrote:
> On Jun 4, 2009, at 2:06 PM, Lionel, Steve wrote:
>
>> <type>, dimension(*), intent(IN) :: BUF
>>
>> Would have to be replaced with something real. In the distant
>> future, perhaps TYPE(*) would be available for this, but not now.
>> Most vendors do have an extension to disregard type and shape
>> checking for arguments in an interface, but maybe not all do. It
>> could be documented as <any type and shape> (without the dimension(*))
>
>
> Clarification about this...
>
> Should I replace
>
> <type>, dimension(*), intent(IN) :: BUF
>
> with
>
> <type>, intent(IN) :: BUF
This looks too much like a scalar argument. Perhaps
<type>,<dimension>,intent(IN) :: BUF
where the details of <type> and <dimension> are implementation
dependent. The options for <type> would be TYPE(*) or something like
INTEGER combined with a directive to ignore the actual type.
<dimension> could be DIMENSION(*) combined with an ignore directive, or
DIMENSION(..). For the non-blocking equivalent:
<type>,<dimension>,asynchronous,intent(IN) :: BUF
Cheers,
Bill
>
> as long as we put some verbiage up front about how <type> is
> implementation dependent, blah blah blah...?
>
> Keep in mind that the current way to specify this in the F77 MPI
> bindings is:
>
> MPI_SEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
> <type> BUF(*)
> INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR20
>
--
Bill Long longb at cray.com
Fortran Technical Support & voice: 651-605-9024
Bioinformatics Software Development fax: 651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120
More information about the mpiwg-fortran
mailing list