我有一个针对 ifort 进行了优化的程序,但是我想使用 gfortran 来编译它。以下是提供的标志:
FCFLAGS= -Vaxlib -CB -mcmodel=large -O -openmp -DOMP
我查看了两者的手册条目以尝试找到相应的选项,但我找不到任何东西(除了 -openmp for -fopenmp,我已经知道了)。
我有一个针对 ifort 进行了优化的程序,但是我想使用 gfortran 来编译它。以下是提供的标志:
FCFLAGS= -Vaxlib -CB -mcmodel=large -O -openmp -DOMP
我查看了两者的手册条目以尝试找到相应的选项,但我找不到任何东西(除了 -openmp for -fopenmp,我已经知道了)。
这是一个选项等价表的选项:
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
-O2
gfortran
-O1
ifort
gfortran
ifort