[ English | Japanese ] [ 地球流体電脳倶楽部 / 惑星大気モデル DCPAM ] [ dcpam5 ドキュメント / ごくらく dcpam5 ]

いくつかのコンパイラに関する注意書き


  1. Intel Fortran, G95 Fortran
  2. Fujitsu Fortran

Intel Fortran, G95 Fortran

セグメンテーションエラー

OS およびカーネルのバージョンによっては, 解像度を上げた計算を 行った際にセグメンテーションエラーが生じる場合があります.

この場合には, メモリのスタック領域の使用容量の最大値が比較的小さく 設定されている可能性があります.

多くの場合にはこの使用容量の最大値は ユーザでも設定可能なソフトリミットと呼ばれるものであるため, 以下のように最大値を増やすよう設定可能です. ただし, システム側で決められている最大値であるハードリミット以上に 大きくソフトリミットを設定することはできません.

スタック領域のソフトリミットをハードリミットまで増やす

csh, tcsh でスタック領域のソフトリミットの設定値を変更する

スタック領域のハードリミットを調べます

> limit -h | grep stack
stacksize    XXXXXXXX

ここで XXXXXXXX として表示されるのが スタック領域のハードリミットです. (数値または "unlimited" が表示されます). この XXXXXXXX をスタック領域のソフトリミットに設定します.

> limit stacksize XXXXXXXX
sh, bash でスタック領域のソフトリミットの設定値を変更する

スタック領域のハードリミットを調べます

$ ulimit -Ha |grep stack
stack size            (kbytes, -s) XXXXXXXX

ここで XXXXXXXX として表示されるのが スタック領域のハードリミットです. (数値または "unlimited" が表示されます). この XXXXXXXX をスタック領域のソフトリミットに設定します.

$ ulimit -s XXXXXXXX

Fujitsu Fortran

NAMELIST 読み込みエラー

ファイルに記述される NAMELIST が多い場合に, まれに一部の NAMELIST が読み込まれない場合があるようです.

ファイルにはちゃんと書き込まれているはずなのに, NAMELIST の情報が実行 プログラムに反映されない場合には, 実行プログラムによって出力されるメッ セージをチェックしてください. もしも以下のようなメッセージが表示されて いれば, ここで述べるような症状が現れていることになります.

!*** WARNING [XxxxNmlRead] ***  NAMELIST group "xxxx_nml" is not found
   in "xxxx_xxxx.nml" (iostat=190).
                       ^^^^^^^^^^ これが特徴.

この場合には, 読み込まれない NAMELIST の前に空行やコメント行を挿入する などし, 再度プログラムの実行と動作のチェックを行ってください. 空行やコメント行を何行か足すことで上記の症状は回避されるようです. (原因は不明です).


$Id: compiler_note.rd,v 1.1.1.1 2010-08-17 05:24:50 takepiro Exp $
DCPAM Development Group / GFD Dennou Staff dcstaff@gfd-dennou.org