OpenMPI version: 1.3.3
Platform: IBM P5
Built OpenMPI 64-bit (i.e., CFLAGS=-q64, CXXFLAGS=-q64,
-FFLAGS=-q64, -FCFLAGS=-q64)
FORTRAN 90 test program:
-
Create a large array (3.6 GB of 32-bit INTs)
-
Initialize MPI
-
Create a large window to encompass large array (3.6 GB)
-
Have PE 0 get 1 32-bit INT from PE1
o
Lock the window
o
MPI_GET
o
Unlock the window
-
Free the window
-
Finalize MPI
Built FORTRAN 90 test program 64-bit using OpenMPI wrapper
compiler (mpif90 –q64).
Why would this MPI_GET work fine with displacements all the
way up to just under 2 GB, and then fail as soon as the displacement hits 2 GB?
The MPI_GET succeeds with a displacement of 2147483644 (4
bytes less than 2 GB).
I get a segmentation fault (address not mapped) when the
displacement is 2147483648 (2 GB) or larger.
Thanks.