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?")
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: email@example.com skype: kyriusan
< sent with alpine 2.00 >
users mailing list