Performance Linux x86/x86-64 Fortran 90/95/2003/2008编译器,哪个?为什么?
到现在为止,我已经问自己这个问题很长时间了 我开始使用GNU Fortran编译器(Performance Linux x86/x86-64 Fortran 90/95/2003/2008编译器,哪个?为什么?,performance,fortran,gfortran,intel-fortran,Performance,Fortran,Gfortran,Intel Fortran,到现在为止,我已经问自己这个问题很长时间了 我开始使用GNU Fortran编译器(gfortran),我非常高兴。但后来我开始听说英特尔Fortran编译器(ifort)更好,因为它针对英特尔处理器进行了优化(因此针对今天的大多数计算机进行了优化,因为英特尔在市场上占有更大的份额)。在那之后,我开始使用ifort,但事实是我并不完全满意它,因为它没有检测到gfortran所检测到的一些错误(即) 确实还有其他Fortran编译器,但实际上,我只使用了gfortran和ifort 所以我想问你:
gfortran
),我非常高兴。但后来我开始听说英特尔Fortran编译器(ifort
)更好,因为它针对英特尔处理器进行了优化(因此针对今天的大多数计算机进行了优化,因为英特尔在市场上占有更大的份额)。在那之后,我开始使用ifort
,但事实是我并不完全满意它,因为它没有检测到gfortran
所检测到的一些错误(即)
确实还有其他Fortran编译器,但实际上,我只使用了gfortran
和ifort
所以我想问你:每种方法的优缺点是什么?如果优化不重要,那么哪一个是最好的?在我看来,最好坚持您熟悉的标准,并编写符合此标准的代码。然后,编译器的选择取决于对所述标准的支持 下面是对和标准的编译器支持的详细列表 我自己使用了很多,因为我喜欢调试消息。现在,我通常使用Fortran 2008特性,并使用
gfortran
(因为它是开源的)和ifort
(因为它对非商业用途是免费的)g95对Fortran 2003和2008的支持非常有限
我通常在编译代码时都会同时打开编译器和所有警告,并且经常会对其中一个编译器遗漏的错误感到惊讶。就编译代码的性能而言,我从未注意到任何差异(不包括捆绑的数学库)
大多数商用编译器都有非标准扩展,如OpenACC
(例如Cray
,PGI
)或特殊功能(例如PGI-CUDA-Fortran
)和捆绑库(例如Intel-MKL
)。这些也可能影响你的选择。对于某些硬件,您可能需要/可能受益于特殊的编译器(如Cray
编译器)
编辑:是针对不同编译器和机器的一些基准测试结果 在我看来,最好还是坚持你熟悉的标准,编写符合这个标准的代码。然后,编译器的选择取决于对所述标准的支持
下面是对和标准的编译器支持的详细列表
我自己使用了很多,因为我喜欢调试消息。现在,我通常使用Fortran 2008特性,并使用gfortran
(因为它是开源的)和ifort
(因为它对非商业用途是免费的)g95对Fortran 2003和2008的支持非常有限
我通常在编译代码时都会同时打开编译器和所有警告,并且经常会对其中一个编译器遗漏的错误感到惊讶。就编译代码的性能而言,我从未注意到任何差异(不包括捆绑的数学库)
大多数商用编译器都有非标准扩展,如OpenACC
(例如Cray
,PGI
)或特殊功能(例如PGI-CUDA-Fortran
)和捆绑库(例如Intel-MKL
)。这些也可能影响你的选择。对于某些硬件,您可能需要/可能受益于特殊的编译器(如Cray
编译器)
编辑:是针对不同编译器和机器的一些基准测试结果 在我看来,最好还是坚持你熟悉的标准,编写符合这个标准的代码。然后,编译器的选择取决于对所述标准的支持
下面是对和标准的编译器支持的详细列表
我自己使用了很多,因为我喜欢调试消息。现在,我通常使用Fortran 2008特性,并使用gfortran
(因为它是开源的)和ifort
(因为它对非商业用途是免费的)g95对Fortran 2003和2008的支持非常有限
我通常在编译代码时都会同时打开编译器和所有警告,并且经常会对其中一个编译器遗漏的错误感到惊讶。就编译代码的性能而言,我从未注意到任何差异(不包括捆绑的数学库)
大多数商用编译器都有非标准扩展,如OpenACC
(例如Cray
,PGI
)或特殊功能(例如PGI-CUDA-Fortran
)和捆绑库(例如Intel-MKL
)。这些也可能影响你的选择。对于某些硬件,您可能需要/可能受益于特殊的编译器(如Cray
编译器)
编辑:是针对不同编译器和机器的一些基准测试结果 在我看来,最好还是坚持你熟悉的标准,编写符合这个标准的代码。然后,编译器的选择取决于对所述标准的支持
下面是对和标准的编译器支持的详细列表
我自己使用了很多,因为我喜欢调试消息。现在,我通常使用Fortran 2008特性,并使用gfortran
(因为它是开源的)和ifort
(因为它对非商业用途是免费的)g95对Fortran 2003和2008的支持非常有限
我通常在编译代码时都会同时打开编译器和所有警告,并且经常会对其中一个编译器遗漏的错误感到惊讶。就编译代码的性能而言,我从未注意到任何差异(不包括捆绑的数学库)
大多数商用编译器都有非标准的扩展,比如OpenACC