performance - Linux x86/x86-64 Fortran 90/95/2003/2008 compiler, which? and, why? -
well, i've been asking myself question quite long time now.
i started using gnu fortran compiler (gfortran
) , quite happy. started hearing intel fortran compiler (ifort
) better because optimized intel processors (and therefore optimized computers today consequence intel has greater share of market). after started using ifort
, truth i'm not happy because not detect errors gfortran
(i.e. question: "reference passing changing values of matrix").
it true there other fortran compilers but, actually, never use other gfortran
, ifort
.
so ask you: advantages , disadvantages of each one? best one, if optimization not important?
in opinion, best stick standard you're comfortable with, , write code conforming standard. then, choice of compilers dictated support said standard.
here extensive list of compiler support 2003 , 2008 standards.
i myself used g95 lot because liked debug messages. nowadays, commonly use fortran 2008 features, , use gfortran
(because it's open source), , ifort
(because it's free non-commercial use). g95
's support fortran 2003 , 2008 quite limited.
i compile code both compilers , warnings turned on, , quite i'm surprised errors missed 1 of compilers. in terms of performance of compiled code, never noticed difference (excluding bundled math libraries).
most commercially available compilers have non-standard extensions, openacc
(e.g. cray
, pgi
) or special features (e.g. pgi cuda fortran
) , bundled libraries (e.g. intel mkl
). these might influence choice. hardware might need / might profit special compilers (like cray
compiler).
edit: here benchmark results different compilers , machines.
Comments
Post a Comment