[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