Sorry for the delay in replying. :-( It's because for a 32 bit signed int, at 2GB, the value turns negative.
On Jun 29, 2010, at 1:46 PM, Price, Brian M (N-KCI) wrote: > 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. > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/