This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Gfortran vs Ifort when using MPI


Johan Seland wrote:
A follow up to my earlier posts:

Profiling shows that the time difference between "very slow" and "full
speed" is all spent in MPI synchronization routines.

Let me first summarize my findings:

    * Simulator runs at full speed on Ubuntu Hardy 32-bit using
repository MPICH and gfortran.
    * Simulator runs at full speed on Gentoo 32-big using repository
versions of MPICH and gfortran.
    * Simulator runs very slow on Ubuntu Hardy 64-bit using repository
MPICH and gfortran
    * Simulator runs at full speed on Hardy 64-bit when MPICH (not the
simulator itself!) is compiled with Intel Fortran (ifort).
       It does not matter if the simulator itself is compiled with
ifort or gfortran.
    * Simulator runs very slow on Ubuntu Hardy 64-bit when MPICH is
compiled using gfortran.
       It does not matter if the simulator itself is compiled with
ifort or gfortran.

These results are reproducible for several machines, both dual and quad core.

I am not yet certain if this is due to a bug in Gfortran, MPICH or Linux.

Interesting.. When you say the "fast 64-bit MPICH" is compiled with ifort, do you mean that the C parts of MPICH are compiled with gcc, and only the Fortran interface with ifort, or do you mean it's compiled with icc + ifort? AFAICT there's not much Fortran code in any MPI implementation, the actual code tends to be C with only a very thin Fortran wrapper.


Have you tried a different MPI implementation, such as Open MPI?

Or does "use mpi" vs. "include 'mpif.h'" make a difference?

Is there any significant difference between 64-bit and 32-bit versions
of Gfortran? (I would not think so?)

As far as the frontend is concerned, not really. Some differences in sizes of some types, e.g. array indexes are internally 64-bit in the 64-bit version.


--
Janne Blomqvist


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]