2

我有一个针对 ifort 进行了优化的程序,但是我想使用 gfortran 来编译它。以下是提供的标志:

FCFLAGS=  -Vaxlib -CB -mcmodel=large -O -openmp -DOMP

我查看了两者的手册条目以尝试找到相应的选项,但我找不到任何东西(除了 -openmp for -fopenmp,我已经知道了)。

4

1 回答 1

3

这是一个选项等价表的选项:

ifort          gfortran         Commentary
-----------------------------------------------------------------------
-Vaxlib                         Enables old VAX library compatibility
                                (should not be necessary with gfortran
                                 and newer ifort versions)
-CB            -fbounds-check   Enables array bounds check at run-time
-mcmode=large  -mcmodel=large   Enables large memory model
-O             -O2              Enables optimisaiton
-openmp        -fopenmp         Enables OpenMP support
-DOMP          -DOMP            Preprocessor option (defines the OMP symbol)

请注意,启用边界检查和大内存模型会减慢代码执行速度。另请注意,单独使用(equivalent to ) 和 with (equivalent to )-O可以实现不同级别的优化。另请注意,优化比. 您可能需要提供更多选项来微调后者,以达到与.ifort-O2gfortran-O1ifortgfortranifort

于 2012-11-12T13:34:48.153 回答