On Wed, Jul 28, 2010 at 11:19:43AM -0400, Gus Correa wrote: > Hugo Gagnon wrote: >> Hi Gus, >> Ompi_info --all lists its info regarding fortran right after C. In my >> case: >> Fort real size: 4 >> Fort real4 size: 4 >> Fort real8 size: 8 >> Fort real16 size: 16 >> Fort dbl prec size: 4 >> Does it make any sense to you? > > Hi Hugo > > No, dbl prec size 4 sounds weird, should be 8, I suppose, > same as real8, right? > > It doesn't make sense, but that's what I have (now that you told me > that "dbl" , not "double", is the string to search for): > > $ Fort dbl prec size: 4 > Fort dbl cplx size: 4 > Fort dbl prec align: 4 > Fort dbl cplx align: 4 > > Is this a bug in OpenMPI perhaps? > > I didn't come across to this problem, most likely because > the codes here don't use "double precision" but real*8 or similar. > > Also make sure you are picking the right ompi_info, mpif90/f77, mpiexec. > Often times old versions and tangled PATH make things very confusing.
This is indeed worrisome as I confirm the findings on our clusters both with ompi 1.3.3 and 1.4.1: ompi_info --all | grep -i fort ... Fort real size: 4 Fort real4 size: 4 Fort real8 size: 8 Fort real16 size: -1 Fort dbl prec size: 4 Fort cplx size: 4 Fort dbl cplx size: 4 Fort cplx8 size: 8 Fort cplx16 size: 16 Fort cplx32 size: -1 Fort integer align: 4 Fort integer1 align: 1 Fort integer2 align: 2 Fort integer4 align: 4 Fort integer8 align: 8 Fort integer16 align: -1 Fort real align: 4 Fort real4 align: 4 Fort real8 align: 8 Fort real16 align: -1 Fort dbl prec align: 4 Fort cplx align: 4 Fort dbl cplx align: 4 Fort cplx8 align: 4 Fort cplx16 align: 8 ... And this is the configure output: checking if Fortran 77 compiler supports REAL*8... yes checking size of Fortran 77 REAL*8... 8 checking for C type corresponding to REAL*8... double checking alignment of Fortran REAL*8... 1 ... checking if Fortran 77 compiler supports DOUBLE PRECISION... yes checking size of Fortran 77 DOUBLE PRECISION... 8 checking for C type corresponding to DOUBLE PRECISION... double checking alignment of Fortran DOUBLE PRECISION... 1 But the following code actually appears to give the correct results: program types use mpi implicit none integer :: mpierr, size call MPI_Init(mpierr) call MPI_Type_size(MPI_DOUBLE_PRECISION, size, mpierr) print*, 'double precision size: ', size call MPI_Finalize(mpierr) end mpif90 -g types.f90 mpiexec -n 1 ./a.out double precision size: 8 Thus is this a bug in ompi_info only? Cheers, Martin -- Martin Siegert Head, Research Computing WestGrid/ComputeCanada Site Lead IT Services phone: 778 782-4691 Simon Fraser University fax: 778 782-4242 Burnaby, British Columbia email: sieg...@sfu.ca Canada V5A 1S6