構造解析ことはじめ/03 プログラムのインストール

CHARMMのインストール -- Vine 4.2  

分子動力学シミュレーション(MD)で使用されるCHARMMをインストールします。
AMBERと同じく手元にあるのがc32b2と古いバージョンですが、Intel Compiler 11.0でコンパイルおよび動作確認しました。AMBER8に比べてインストールは簡単です。なお、最適化オプションが古いのでIntel Compiler 11用のパッチ(filecharmm-c32b2-ic11.patch)を作ってみました。パッチによる修正点は以下の通りです。

インストール手順  

ビルドしたディレクトリが実行ファイルの出力先になるのでrootで実行します。ここでは/usr/local/c32b2をビルドディレクトリにしてますが、必要に応じて変更して下さい。なお、一般ユーザーのホームディレクトリ以下で構築して/usr/localにコピーしても動くと思います。

シングル版のビルド  

MPI対応ではないスタンドアロン版をビルドします。

# cd /usr/local
# tar zxvf c32b2.tar.gz
# cd /usr/local/c32b2
# patch -p1 < charmm-c32b2-ic11.patch   <-- パッチを当てる
# source /opt/intel/Compiler/11.0/074/bin/iccvars.sh ia32
# source /opt/intel/Compiler/11.0/074/bin/ifortvars.sh ia32
# ./install.com gnu medium IFORT        <-- medium版の場合(必要に応じて変更します)
Tue Feb 17 13:58:25 JST 2009
 install.com> Directory /usr/local/c32b2/build/gnu does not exist.
              Creating /usr/local/c32b2/build/gnu ...
 install.com> Phase 1 completed.
 install.com> Phase 2 completed.
 install.com> Processing CHARMM source on gnu...

しばらくするとc32b2/exec/gnu/charmmが作成されます。このファイルにパスを通せば使用可能です。
なお、環境変数MAKE_COMMANDでmake -j4などの並列コンパイルオプションを追加できますが、私の環境では並列コンパイルは失敗しました。

LAM-MPI版のビルド  

MPI対応版をビルドします。
install.comの実行時オプションにMPIオプションが追加されます。

# ./install.com gnu medium IFORT M LAMMPI

なお、ここで使うLAM-MPIはIntel Compilerでビルドしたものである必要があります。インストール方法はAMBER/インストールを参照して下さい。install.comにパッチを当てない状態だと-lpthreadが不足しているのでリンクエラーになりますので注意して下さい。

undefined reference to `pthread_condattr_setpshared'
undefined reference to `pthread_mutexattr_destroy'
undefined reference to `pthread_mutexattr_init'
undefined reference to `pthread_mutex_trylock' 

こんなエラーが発生します。

テスト  

実行テストを行います。ただ、結果の見方がよくわかりません [huh]

# cd /usr/local/c32b2/test
# ./test.com gnu

これでテストスクリプトが流れるようです。

トラブル  

Segmentation fault(コアダンプ)する  

プログラムを実行しようとするとSegmentation faultでコアダンプしました。

% charmm
Segmentation fault

このプログラムは実行時にホスト名を確認するため名前解決ができない環境ではSegmentation faultするようです。DNSによる名前引きが可能なら問題ありませんが、プライベートネットワークなどで名前引きができない環境の場合は/etc/hostsにホスト名を追加しておきます。
例えばdobuo.biokids.orgというホスト名なら、

/etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               dobuo.biokids.org dobuo localhost.localdomain localhost

というようにホスト名を追加しておきます。

添付ファイル: filecharmm-c32b2-ic11.patch 1042件 [詳細]