#author("2019-07-08T17:50:12+09:00","default:Miyashita","Miyashita")
#author("2021-12-05T12:32:42+09:00","default:Miyashita","Miyashita")
*gfortran で -heap-arrays(ifort) の代替 [#i522f8cc]
Intel の Fortran コンパイラ (ifort) で,
#codeprettify{{
ifort -heap-arrays -O3 XXX.f -o YYY
ifort -heap-arrays XXX.f -o YYY
}}
とするファイルを gfortran でコンパイルする場合,同名のオプションが gfortran に無くて困った.~
単にこの -heap-arrays の部分を消してコンパイルして実行すると下記のようなエラーが出現.
 Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
調べたら,-fmax-stack-var-size=n というオプションで代用できるらしい.
#codeprettify{{
gfortran -fmax-stack-var-size=n -O3 XXX.f -o YYY
}}
nは大きい方が良い.どこまでいけるかは使用環境による.
nを大きくしたら上にあるようなエラーは出なくなった.

***参考 [#ndb0fda6]
-[[Options for code generation conventions>http://gcc.gnu.org/onlinedocs/gfortran/Code-Gen-Options.html]]
-[[gfortran flag for intel's -heap-arrays [size] (StackOverflow)>https://stackoverflow.com/questions/22832496/gfortran-flag-for-intels-heap-arrays-size]]

Front page   Edit Diff Attach Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes