dynamicsoar's log

主に研究関係のメモ

fortran でよく使うコンパイラオプションのメモ

自分用。あとで書き足す

gfortran

牛島先生本で紹介されていたのがキッカケで使い始めた g95 がわりと好きだったんだけど、だいぶ前から開発が止まってる(というか終わってる?)ので、最近は gfortran を使うことが多い(本気の計算だけ ifort)。

$ gfortran foo.f90 -Wall -O1 -fbounds-check -fbacktrace -fcheck=all -ffpe-trap=invalid,zero,overflow,underflow

あたりから適当に選んで。

  • -Wall に含まれる -Wuninitialized はデフォルトの -O0*1では作動しないので、-O1 が無難か。
  • -finit-local-zero が便利だけど多用は危険か。というか基本的には使わないでちゃんと自分で初期化したほうが良さげ。

ifort (version 2021.5.0)

$ ifort foo.f90 -xHost -ipo -mcmodel=medium -shared-intel -qopenmp
  • no-prec-div や -fp-model=fast=2 は本番計算で自ら付けるべきものではないような気が今はする。

*1:たぶん。ifortでは-O2がデフォルトだが。