Fortranについてのメモ

・メモリ使用量ついて

コンパイル時にrelocation truncated to fit: R_X86_64_32S against `.bss'という
エラーが出ることがあるが、これはメモリの使用量が約2GB以上の巨大な配列を切った場合に出る。
例えばOISSTの0.25°×0.25° のデータだと水平格子1440x720、さらにmonthlyでも30年分でt~360であり、
8byteで配列を切ると1440x720x360x8=3GB、またT119L56の6hourlyモデル出力だと、1ヶ月分で
360x180x24x120x8=1.5GBである。これではすぐにエラーが返ってきてしまう。
このような場合、もちろん配列の取り方を工夫してもいいのだが、コンパイル時に例えばIntel Fortranならば
-mcmodel=large -shared-intel というオプションを付ければ回避できる。この場合、実際にどれくらいのメモリを使用するかを予めきちんと計算して
おかなければならない。



トップへ戻る