Linux サーバー版 Gromacs インストールマニュアル
2024 年 1 月 18 日
本マニュアルの目的
本マニュアルでは、単一ユーザが独占的に Linux サーバ（CentOS 7.8）を使用して Gromacs ジョブを並列実行するための環境を構築する方法と、Winmostar™のリモートジョブ投入機能から Linux サーバへジョブを投入する方法を示しています。計算環境は全てユーザのホームディレクトリ以下で行うことを想定しています。複数ユーザが使用する共用サーバの環境を構築する方法、複数ノードを利用する環境を構築する方法、GPU を用いる環境を構築する方法などは本マニュアルに含まれませんので、別途お問い合わせください。

1.

コンパイラの確認・インストール①

Linux サーバにログインし、以下のコマンドで make がインストールされているか確認する。
$ which make
インストールされていない場合は yum などのパッケージ管理ソフトウェアを用いてインストールする。CentOS 7.8 で yum を使う場合は以下のように実行する。
$ sudo yum install make②

以下のコマンドで gcc のバージョンが 4.7 以上であるか確認する。
$ gcc --version
gcc がインストールされていない、あるいは gcc のバージョンが 4.7 未満である場合は、yumなどのパッケージ管理ソフトウェアを用いてインストールする。CentOS 7.8 で yum を使う場合は以下のように実行する。
$ sudo yum install gcc$ sudo yum install gcc-c++③

以下のコマンドで cmake のバージョンが 2.8.8 以上であるか確認する。
$ cmake --version
cmake がインストールされていない、あるいは cmake のバージョンが 2.8.8 未満である場合は、yum などのパッケージ管理ソフトウェアを用いてインストールする。CentOS 7.8 で yumを使う場合は以下のように実行する。
$ sudo yum install cmake④（MPI 並列版が必要な方のみ）以下のコマンドで mpicc がインストールされているか確認する。
$ which mpicc
インストールされていない場合は yum などのパッケージ管理ソフトウェアを用いてインストー
ルする。CentOS 7.8 で yum を使う場合は以下のように実行する。
$ sudo yum install mpich-devel1

上記の手順でインストールした場合は、現在のシェルで Gromacs をビルドするために、以下のコマンドを実行して MPICH を有効にする。なお、~/.bashrc にこのコマンドを追記するとLinux サーバにログインし直すたびにこのコマンドの実行が不要となるが、同サーバ上における他のソフトウェアとの設定の調整が必要となる。本書では~/.bashrc への追記は必須ではない。
$ export PATH=$PATH:/usr/lib64/mpich/bin22.

Gromacs のインストール①

Gromacs のサイト内の https://ftp.gromacs.org/pub/gromacs/にウェブブラウザでアクセスし gromacs-5.0.7.tar.gz をダウンロードする。

②

gromacs-5.0.7.tar.gz を SCP, FTP などで Linux サーバに転送する。ここではホームディレクトリ直下に置いたと仮定する。

③

Linux サーバにログインし、以下のコマンドで圧縮ファイルを解凍する。
$ cd$ tar xzvf gromacs-5.0.7.tar.gz④

以下のコマンドで単精度スレッド並列版 Gromacs のビルド設定を行う。なお、Winmostar は単精度版と倍精度版の両方がインストールされていることを前提としている。使用する CPUの世代によっては-DGMX_SIMD の値を SSE4.1 などに変更する必要がある。また、Regression
Test は本稿執筆時点でダウンロードできないため OFF にしている。Gromacs のバージョンによっては、gromacs-5.0.7 ディレクトリがホームディレクトリ直下でない場合に、cmake の引数の-DCMAKE_INSTALL_PREFIX の値を実際の gromacs-5.0.7 ディレクトリのパスに変更しないとビルドできない場合がある。
$ cd gromacs-5.0.7$ mkdir build$ cd build$ cmake .. -DGMX_SIMD=AVX_256 -DGMX_BUILD_OWN_FFTW=ON-DREGRESSIONTEST_DOWNLOAD=OFF-DCMAKE_INSTALL_PREFIX=$HOME/gromacs-5.0.7 -DGMX_GPU=OFF-DGMX_THREAD_MPI=ON -DGMX_DOUBLE=OFF（cmake からの行は改行せず一行で入力する）:-- Configuring done-- Generating done-- Build files have been written to: /home/winmostar_user /gromacs5.0.7/build[winmostar_user @ remote_server gromacs-5.0.7]

3

画面にエラーが出力されていないか確認したら、次のコマンドでビルドを行う。
$ make:Scanning dependencies of target template
Scanning dependencies of target gmx[ 98%] [100%] [100%] Building CXX object
share/template/CMakeFiles/template.dir/template.cpp.o
Building CXX object src/programs/CMakeFiles/gmx.dir/gmx.cpp.o
Building CXX object
src/programs/CMakeFiles/gmx.dir/legacymodules.cpp.o
Linking CXX executable ../../bin/gmx[100%] Built target gmx
Linking CXX executable ../../bin/template[100%] Built target template[winmostar_user@remote_server gromacs-5.0.7]

画面にエラーが出力されていないか確認したら、次のコマンドでインストールを開始する。
$ make install※Regression Test をダウンロードできるバージョンの場合（5.0.7 の場合は不可）はインストールの前に$ make check で動作確認を行う。
⑤

同様に以下のコマンドで倍精度スレッド並列版 Gromacs をビルドしインストールする。なお、
Winmostar は単精度版と倍精度版の両方がインストールされていることを前提としている。
$ cmake .. -DGMX_SIMD=AVX_256 -DGMX_BUILD_OWN_FFTW=ON-DREGRESSIONTEST_DOWNLOAD=OFF-DCMAKE_INSTALL_PREFIX=$HOME/gromacs-5.0.7 -DGMX_GPU=OFF-DGMX_THREAD_MPI=ON -DGMX_DOUBLE=ON（cmake からの行は改行せず一行で入力する）$ make$ make install

4

⑥（MPI 並列版が必要な方のみ）同様に以下のコマンドで MPI 並列版 Gromacs をビルドしインストールする。
$ cmake .. -DGMX_SIMD=AVX_256 -DGMX_BUILD_OWN_FFTW=ON-DREGRESSIONTEST_DOWNLOAD=OFF-DCMAKE_INSTALL_PREFIX=$HOME/gromacs-5.0.7 -DGMX_GPU=OFF-DGMX_MPI=ON -DGMX_DOUBLE=OFF（cmake からの行は改行せず一行で入力する）$ make$ make install$ cmake .. -DGMX_SIMD=AVX_256 -DGMX_BUILD_OWN_FFTW=ON-DREGRESSIONTEST_DOWNLOAD=OFF-DCMAKE_INSTALL_PREFIX=$HOME/gromacs-5.0.7 -DGMX_GPU=OFF-DGMX_MPI=ON -DGMX_DOUBLE=ON（cmake からの行は改行せず一行で入力する）$ make$ make install5

3.

Linux サーバ上での最終確認①

Winmostar から接続するときの状況を再現するため、Linux サーバにログインしなおす。

②（MPI 並列版が必要な方のみ）MPI の動作を確認するため、MPI の起動に必要な環境を設定する
コマンドを入力しメモに控えておく。本書の手順に従った場合は、以下のコマンドを入力する。
$ export PATH=$PATH:/usr/lib64/mpich/bin③（MPI 並列版が必要な方のみ）以下のコマンドを実行してインストールした mpirun のパスが表示されることを確認する。確認できない場合は②の設定を見直す。
$ which mpirun④（MPI 並列版が必要な方のみ）MPI の動作確認のため、以下のコマンドを実行して現在のディレクトリ名が 2 つ表示されることを確認する。確認できない場合は②の設定を見直す。
$ mpirun -n 2 pwd⑤

Gromacs の動作を確認するため、Gromacs の起動に必要な環境を設定するコマンドを入力しメモに控えておく。本書の手順に従った場合は、以下のコマンドを入力する。
$ source $HOME/gromacs-5.0.7/bin/GMXRC⑥

以下のコマンドを実行してインストールした Gromacs のパスが表示されることを確認する。確認できない場合は⑤の設定を見直す。
$ which gmx$ which gmx_d⑦

以下のコマンドを実行して Gromacs が起動しヘルプが表示されることを確認する。確認できない場合は⑤の設定を見直す。
$ gmx -quiet -h
表示される例：SYNOPSIS
gmx [-[no]h] [-[no]quiet] [-[no]version] [-[no]copyright]
OPTIONS
Other options:-[no]h…
（以下省略）(no)Print help and quit

6

4.

Winmostar からの設定および動作確認
ユーザマニュアルの 7.2. リモートジョブの設定手順に従って設定し動作確認を行う。
テンプレートスクリプトを編集する際には、「# Insert commands here」 から「# Do notmodify the followings」の間に 3-②と 3-⑤でメモに控えた内容を追記する。
echo "*************************************************"
echo "***
Set user-defined variables***"
echo "*************************************************"
set -v# Insert commands here
MPI_COMMAND="mpirun -n %WM_NUM_PROC% "BIN_GMX_SERIAL_SINGLE=gmx
BIN_GMX_SERIAL_DOUBLE=gmx_d
BIN_GMX_MPI_SINGLE=gmx_mpi
BIN_GMX_MPI_DOUBLE=gmx_mpi_dexport PATH=$PATH:/usr/lib64/mpich/binsource $HOME/gromacs-5.0.7/bin/GMXRC# Do not modify the followings

5.

Linux サーバ上への ERmod の動作環境設定方法（必要な方のみ）
ER 法による溶媒和自由エネルギー計算を Linux サーバで実行する場合は、本節の内容に従いERmod を設定する。詳細は ERmod の Build Guide を参照する。

①

ermod-0.3.4.tar.gz をhttp://sourceforge.net/projects/ermod/files/?source=navbar からダウンロー
ドする。

②

以下のようにコンパイルする。
$ sudo yum install fftw-devel$ sudo yum install lapack-devel$ tar zxvf ermod-0.3.4.tar.gz$ cd ermod-0.3.4$ ./configure$ make$ sudo make install

以上7