Compilerおよび環境変数のセットアップパッチを当てる通常版のビルド並列版のビルド実行環境のセットアップAMBER8のインストール分子動力学シミュレーション(MD)で一般的に使用されるAMBERをインストールしてみます。11.0および11.1を使ってビルドします。たどり着くまで紆余曲折がありましたので別バージョンも残しておきます。9.1のメモ専門外なのでMDに関する難しいことはよーわかりません。Compilerがあればいいのですが、並列環境で実行する場合はLAM-MPIをインストールしてMPI環境を準備します。10.2ではptrajのテスト時に問題が発生しました。10.1でビルドします。発生する問題$AMBERHOME/test/ptraj_matrixテストにおいて以下のdifが出力されます。符号が全て逆転しています。11.0および11.1で確認しました。Compilerバージョンによる作業の違いはありません。Q9650)では11.1に付属していたMKL(Ver.10.2)ではビルド後のテストで問題が発生しました。10.1を使用します。11からMKLもCコンパイラに同梱されるようになりTypicalインストールなら同時にインストールされます。Libraryのバージョンを参考にして下さい。LAM-MPIのインストールMPI環境で並列計算を行う場合はインストールします。LAM-MPIは現在OpenMPIプロジェクトになっているようですがAMBER8はLAM-MPIを使用します*1。7.1.4を使用しました。configureオプションオプションは以下のような設定にしてみました。(C++)CFLAGSなどの最適化オプションは使用しませんでした。インストール先は/usr/local/lam-7.1.4にしたかったのでprefixオプションも使用します。prefixオプションなしだと/usr/local直下にインストールされます。installAMBER8本体のインストールようやく準備が整ったのでAMBERをビルドします。/usr/local/amber8以下にインストールしますが、ビルドも同じ場所で行うので最後の並列テスト以外はroot権限で実行します。11.1でビルドすることも可能です。その際はconfigure時に後述の-static-mklオプションを使って下さい。11用にオプションを変更したパッチとAMBER8のバグフィックスパッチを当てます。bugfix.allパッチを当てたらビルドします。precisionのライブラリ。449行目の-axsse4.2を変更する。65nm-axssse3変更したらビルドします。configureオプション2010-05-24版では環境によってconfigureオプションが異なります。ifortになります。11.0以外を通常使用する場合にセットします。11.1の環境をセットアップするとMKLもそちらのバージョンが使われてしまうためです。実際の手順は以下の通りです。-j4などで並列コンパイルすると結果がおかしくなるので-jは使用しないビルドが完了したらテストします。faultしたときわからないテストが終了したら差のある結果をチェックします。\;私の環境での差は以下の通り。amber8.serial.diff.txt並列版のビルドSANDERを並列化環境下で実行する場合は通常版をビルドした後に並列版をビルドします。parallelmpirunはrootでは実行できないので、テストは一般ユーザーで行います。ここではユーザーdobuoで行うとしますが環境に合わせて読み替えて下さい。testディレクトリ以下のファイルの所有者をpooに変更します。./続いて、ユーザーdobuoでテストを実行します。testを実行します。DO_PARALLELをセットしておけば並列化テストになるようです。私の環境での差は以下の通りです。並列版は通常版をビルドし、その後並列版をビルドすることで通常版のプログラムが上書きされてしまいます。すると非MPI環境で実行できなくなってしまうので、私は通常版と並列版を別ディレクトリで用意しました。通常版をビルド通常版を別ディレクトリにコピーコピーしたディレクトリで並列版をビルドとしてみました。実行環境のセットアップ実行するための環境を整えます。.cshrcに以下の行を追加します。