Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance Linux x86/x86-64 Fortran 90/95/2003/2008编译器,哪个?为什么?_Performance_Fortran_Gfortran_Intel Fortran - Fatal编程技术网

Performance Linux x86/x86-64 Fortran 90/95/2003/2008编译器,哪个?为什么?

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 所以我想问你:

到现在为止,我已经问自己这个问题很长时间了

我开始使用GNU Fortran编译器(
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