インストールの環境はLinux 64bit環境を想定しているが、対応しているOSであればインストールの方法は大きく変わらない。そのため、本項では,Linux 64bit環境以外での変更点もいくつか解説を行うことにする。注意としてmulticore版(複数ノードを用いない単一ノードのみの並列計算版)のNAMDを導入する場合は既にコンパイルされたバイナリをダウンロードして解凍するという方法が最も簡単である。NAMDのソースコードもしくはコンパイル済みのバイナリは以下のURLからダウンロードすることが出来る。

http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD

ソースからインストールする場合はSource Codeを、それ以外の場合は該当するアーキテクチャのリンクをクリックすればよい。Linux 64bitでMPI版をインストールする場合や、該当する項目のないOSの場合はソースコードからコンパイルすることとなる。また、ダウンロードにはユーザー登録が必要であるため、UsernameとPasswordを入力しContinue with registration or downloadをクリックし、所属や用途等の情報を入力してユーザー登録を行う。

ソースコードもしくはバイナリをダウンロードしてきたら解凍を行う、Tar ballになっているため、以下のコマンドをコンソール上のダウンロードしたファイルが置かれているディレクトリで実行する。

tar -xvf 'ダウンロードしたファイル名'

HPCクラスタ等にインストールする場合は、圧縮されたものをscp等のコマンドを使用して目的のコンピュータに送るとよい。バイナリをダウンロードして解凍した場合はインストール完了である。namd2(NAMDを実行するコマンド)を認識出来るようにPATHへの追加を忘れずに行う。

NAMDはバージョンによってC++コンパイラの互換切りがあるため、コンパイラのバージョンには注意されたい。ソースコードからコンパイルする場合,NAMDのインストールは主に2つのステップに分かれる。

  1. Charm++ /Converseのビルド
  2. NAMDのインストール


1. Charm++ / Converseのビルド

以降での注意として、charm-6.7.0のビルドには使用するC++コンパイラがオプションC++0xもしくはC++11に対応している必要がある。それ以前のバージョンのコンパイラではビルド中にエラーが発生する。NAMD-2.9同梱のCharmではこの現象は起こらないためビルド可能である。始めに解凍したNAMD-2.11のディレクトリに移動する.
移動したディレクトリにcharm-6.7.0.tarが存在するので、以下のコマンドを実行して解凍する.

tar -xvf charm-6.7.0.tar

解凍したディレクトリ(charm-6.7.0)に移動し、以下のコマンドを実行する。

./build charm++ mpi-linux-x86_64 --with-production

使用するMPIの存在するディレクトリを指定する場合(–with-productionを使用しない場合)には以下を実行する。

./build charm++ mpi-linux-x86_64 --basedir 'MPICHライブラリ等の存在するディレクトリ'

上記で上手く行かない場合、経験的には、以下を実行する。

./build charm++ mpi-linux-x86_64 gcc --with-production

上記のコマンドにおけるオプションを追加して実行すると、上手く行く場合がある(これはcharmのデフォルトのビルドがiccで行われるがiccのバージョンが古く非対応であり、なおかつgccのバージョンが新しくg++がc++0xもしくはc++11オプション対応であった場合にgccを使ってビルドすることでエラーを避けた例である)。

2. インストール

インストールは、以下の手順で実行する。

 A. fftw & tclのダウンロードと解凍
 B. アーキテクチャ周りの設定
 C. config
 D. make

A. fftw & tclのダウンロードと解凍

NAMD-2.11のディレクトリに移動し、以下のコマンドを実行することによりfftwとtclをダウンロードし、解凍を行う。

wget http://www.ks.uiuc.edu/Research/namd/libraries/fftw-linux-x86_64.tar.gz
tar xzf fftw-linux-x86_64.tar.gz
mv linux-x86_64 fftw
wget http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64.tar.gz
tar xzf tcl8.5.9-linux-x86_64.tar.gz
mv tcl8.5.9-linux-x86_64 tcl


B. アーキテクチャ周りの設定

手順は、以下の通りである。

  1. Make.charmの編集
  2. arch/Linux-x86_64-MPI-pathcc.archの編集

最初にMake.charmの編集を、以下のように行う。

# Set CHARMBASE to the top level charm directory.
# The config script will override this setting if there is a directory
# called charm-6.7.0 or charm in the NAMD base directory.

#CHARMBASE = /Projects/namd2/charm-6.7.0
CHARMBASE = .rootdir/charm-6.7.0

次にarchディレクトリに移動し、Linux-x86_64-MPI-pathcc.archを編集する。使用しているアーキテクチャが異なる場合は該当するし、以下のようにファイルの編集を行う。

NAMD_ARCH = Linux-x86_64
#CHARMARCH = mpi-linux-x86_64-pathcc
CHARMARCH = mpi-linux-x86_64

FLOATOPTS= -lpathfortran -O3 -CG:local_fwd_sched=on -LNO:opt=0 -OPT:unroll_times_max=8:div_split=ON:roundoff=2
CXX = pathCC -m64 -fPIC -DSOCKLEN_T=socklen_t -I$(CHARM_LOC)/include 
CXXOPTS = $(FLOATOPTS) -OPT:alias=typed
CXXNOALIASOPTS = $(FLOATOPTS) -OPT:alias=restrict
CC = pathcc -m64 -fPIC
COPTS = $(FLOATOPTS) -OPT:alias=typed


C. config

以下のコマンドを実行する。

./config Linux-x86_64-g++ --charm-arch mpi-linux-x86_64

–charm-archはcharm-6.7.0ディレクトリ内にビルドの際に作成されたディレクトリ名を指定する。例えばmpi-linux-x86_64-gcc-gfortranの場合には、以下の通りである。

./config Linux-x86_64-g++ --charm-arch mpi-linux-x86_64-gcc-gfortran

また、iccを用いる場合には、以下のように指定する。

./config Linux-x86_64-icc --charm-arch mpi-linux-x86_64


D. make

先程のconfigで作成されたディレクトリに移動し、以下のコマンドを実行する。

make
make release

エラーが出なければインストール成功である。どこからでも呼び出せるように最後にPATHに追加する。


参考文献
https://www.ks.uiuc.edu/Research/namd/2.11/notes.html