This is due to the interface defined for MPI_File_write that specifies an integer for the length. The positive value of an integer are coded
in hexadecimal from 0000 0000 to 7FFF FFF and negative values are coded from 8000 0000 to FFFF FFFF.
(7FFF FFFF is exactly 2^31-1).


Ricardo Reis a écrit :
On Wed, 17 Nov 2010, Pascal Deveze wrote:

I think the limit for a write (and also for a read) is 2^31-1 (2G-1). In a C program, after this value, an integer becomes negative. I suppose this is also true in
Fortran. The solution, is to make a loop of writes (reads) of no more than this value.

Is that MPI-IO specific? I remember that when using FFTW they ask for using INTEGER(8) for the returning handle. This is used has a pointer interface with the library and (8) will be equivalent to a 64 bit pointer (sort of, sorry if I am not being exact).

Anyway, if I have no problems writing Big files with normal Fortran shouldn't this behaviour be found with MPI-IO? And, more to the point, if not, shouldn't it be documented somewhere?

Does anyone knows if this carries over to other MPI implementations (or the answer is "download, try it and tell us?")


 Ricardo Reis

 'Non Serviam'

 PhD candidate @ Lasef
 Computational Fluid Dynamics, High Performance Computing, Turbulence

 Cultural Instigator @ Rádio Zero

 Keep them Flying! Ajude a/help Aero Fénix!

 contacts:  gtalk:  skype: kyriusan

                           < sent with alpine 2.00 >

_______________________________________________ users mailing list