On Jul 7, 2010, at 9:27 PM, Jed Brown wrote:
> Sorry, that didn't register. The displ argument is MPI_Aint which is 8
> bytes (at least on LP64, probably also on LLP64), so your use of kind=8
> for that is certainly correct. The count argument is a plain int, I
> don't see how your code could be correct if you pass in an 8-byte int
> there when it expects a 4-byte int (since the upper 4 bytes would be
> used on a big-endian system).
+1 on what he said.
> > The test program I'm using is written in Fortran 90 (as stated in my question).
>
> Do you "use mpi" or the F77 interface?
It shouldn't matter; both the Fortran module and mpif.h interfaces are the same.
> https://svn.open-mpi.org/trac/ompi/ticket/2472
We might be doing something wrong internally; we'll need to dig into it. George has told me in the past that our internal datatype engine is 64-bit internally, so it should be capable of doing this stuff right. Perhaps we're doing an intermediate multiplication and truncating it somewhere, as Jed mentioned earlier.
I took the liberty of adding Brian to the CC of the ticket.
--
Jeff Squyres
jsquyres_at_[hidden]
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/
|