Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: [OMPI users] maximum size for read buffer in MPI_File_read/write
From: German Hoecht (german.hoecht_at_[hidden])
Date: 2011-09-22 17:37:10


MPI_File_read/write functions uses an integer to specify the size of
the buffer, for instance:
int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype
datatype, MPI_Status *status)
count Number of elements in buffer (integer).
datatype Data type of each buffer element (handle).

However, using the maximum value of 32 bytes integers:
count = 2^31-1 = 2147483647 (and datatype = MPI_BYTE)
MPI_file_read only reads 2^31-2^12 = 2147479552 bytes.
This means that 4095 bytes are ignored.

I am not aware of this specific limit for integers in (Open) MPI
function calls. Is this supposed to be correct?

MPI_File_read/write does not return an error (but MPI_Get_count states
that only 2147479552 bytes are considered). Find attached a C++ code
example which tries to write and read 2^31-1 bytes.

I am using Open MPI 1.4.2 compiled with the Intel compiler.

Best regards,