2010年10月6日水曜日

GAMESSのプロファイリング

compallから読み出されるシェルスクリプトcompに説明がある.
---------------
# To profile code during development stages,
# 1. "comp" desired modules with -pg added to the xlf flags
# 2. "lked" after adding -p to the xlf flags.
# 3. execute to completion, generating 'mon.out' file.
# 4. generate results by 'prof gamess.00.x mon.out'.
---------------
gfortranの場合は,以下を追加
1380行(32bit)
gfortran -pg -c $OPT -std=legacy $MODULE.f
1517行(64bit)
gfortran -pg -c -fdefault-integer-8 $OPT -std=legacy $MODULE.f

2010年10月4日月曜日

GAMESSのコンパイル

GAMESSをコンパイルした.数値計算ライブラリにはAtlasを使用.

1)Atlasのコンパイル
・Atlasをダウンロード
http://sourceforge.net/projects/math-atlas/
・適当なところに解凍
・解凍したディレクトリの中に,適当なディレクトリを作る(例えばmyobj)
cd myobj
../configure -Si cputhrchk 0(CPUのclock変動を無視する.このオプションを付けないとエラー.)

2)GAMESSのコンパイル
・ダウンロード
http://www.msg.ameslab.gov/gamess/download.html
のobtaining GAMESSをクリック.agreeするとメールアドレスの登録が要求される.登録したメールアドレスにダウンロード先とパスワード(毎週変わる)が送られる.
・解凍
tar -xvzf gamess-current.tar.gz
cd gamess
・コンパイルに関する設定
./configure
Fortranはgfortran
数値演算ライブラリにはatlasを選択
configureによる設定はinstall.infoに書き込まれる(ここを手作業で修正することも可能)
・コンパイル
./compall
・ddiのコンパイル
cd ddi
./compddi
・リンク
./lked
gamess.00.xが出来る
----------------------------------------
atlasはスカラー版がリンクされる.SMP並列版をリンクするにはlkedの一部を書き換える.
set MATHLIBS="-L$GMS_MATHLIB_PATH -lf77blas -latlas"
の行を
set MATHLIBS="-L$GMS_MATHLIB_PATH -lptf77blas -lpthread -latlas"
とする(2箇所)