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]

Gfortran vs Ifort when using MPI


Hello.

I am in the process of porting an existing 3D Navier-Stokes simulator
to utilize CUDA on GPUs. The existing simulator is written in F90 and
relies heavily on MPI.

Calling CUDA from gfortran  straightforward, and we are making good
progress on the port itself, which is not the topic of my post. (FYI,
we will keep the existing MPI communication to split computations
between multiple GPUs.)

However, the original simulator was developed using Intel Fortran, and
we are experiencing huge (50x-100x) slowdowns when compiling the
simulator using gfortran-4.2 instead of Ifort. This is on a Core 2
Quad shared memory computer, and MPICH (1.2.7) is compiled with either
gfortran or ifort in shared memory mode.

I think I have used the right compiler options (-O3 -ffast-math
-funroll-all-loops), so I don't think that is the culprit?
The simulator is fully explicit and does not rely on BLAS/iMKL, so I
don't think ifort is getting an edge there either.

Is there any known reason for this extreme difference? I will be able
to spend some time on tracking this one down, but I need a pointer in
the right direction.

I have not been able to compile MPICH using gfortran-4.3, but this
could probably be done if it could eliminate some causes.
-- 
Regards Johan Seland


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