Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] MPI_File_get_size fails for files > 2 GB in Fortran
From: William George (wgeorge_at_[hidden])
Date: 2010-12-20 17:48:46


Edgar Gabriel wrote:
> well, to contradict my own position from previously, this function was
> part of the MPI-2 specification, and the only interfaces published for
> this function were C, C++ and F90. Not sure what this means for f90
> applications however.
>
> Thanks
> Edgar
>

I assume you meant "Not sure what this means for f77 applications".

This is why I didn't attempt a patch - the solution to this was
not immediately obvious to me due to the Fortran 77 compatibility
issue.

The functions that have the MPI_Fint casts are C functions, so
at the very least, if MPI_Offset is a 64 bit int, then these functions
should not be casting them to 32-bit ints, otherwise we have
two broken interfaces (F77 and F90) instead of one (F77).

-- 
Bill
> On 12/20/2010 3:59 PM, N.M. Maclaren wrote:
>> On Dec 20 2010, George Bosilca wrote:
>>
>>> There is a hint for F77 users at the bottom of the page. It suggests
>>> to use INTEGER*MPI_OFFSET_KIND as type for the SIZE. I guess if we
>>> cast it correctly, and the users follow the MPI specification, this
>>> should work.
>> Please tell me you are joking?
>>
>> No, that will NOT work, in general.  Firstly, the xxx in INTEGER*xxx was
>> introduced in Fortran IV as a digit string and not a constant, and all
>> of the compilers I know of still do that.  Secondly, it is NOT always
>> aligned with the KIND values, and there is no implication in any document
>> I know of that it should be.
>>
>> Regards,
>> Nick Maclaren.
>>
>>
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>