请您为最高性能的生产代码推荐GNU Fortran编译器gfortran
标志吗?目前我正在使用gfortran -O3
。该代码将在64位Intel平台上运行。
答案 0 :(得分:3)
这可能是一个扩展的评论而不是一个答案,但无论如何都要进行。
那些写gfortran
的善良的民众,以及编写其他所有提供类似设施的编辑的善良的民众,已经为程序员提供了-O2
和-O3
等优化标记。没有时间或倾向于找出他们的平台上的代码的最佳编译器标志组合。正如您将从自己的研究中学到的那样,这些标志被翻译成一堆其他更狭隘的标志。
您可能已经或可能不熟悉最初令人惊讶的代码,该代码使用-O2
而不是-O3
运行得更快。当您第一次遇到这种情况时,您将花时间处理各个优化标记,打开和关闭它们,以不同方式组合它们,直到您了解哪些代码适用于您的代码,哪些代码不适用。无论是那个,还是你沮丧地放弃,并用你的时间做其他事情。
优化所有平台的所有代码没有灵丹妙药。这是艰苦的工作,只有你可以决定是否值得花两周时间从程序中挤出5%的速度。而且,只有通过广泛的实践和调查,才能发展出对编译器提供的各个优化选项的熟悉程度,从而了解这些努力可能带来的好处。
然后你改变了编译器,或者编译器编写者引入了新的或增强的功能,你的任务又开始了,但不是从头开始。
最后,使用gfortran
,您可以尝试-Ofast
。