Gromacs 2025をインストール

Gromacs 2025をインストールする方法。

## 環境

- macOS 15.4 (Sequoia), Intel CPUまたはApple Siliconどちらでも可
  - またはUbuntu 22.04, 24.04, Rhel 8系 (Rocky Linux, Almalinuxなど)
- Macの場合、[ターミナルからHomebrewをインストール](http://brew.sh/index_ja.html )してある

## macOSの場合：HomebrewでGromacsのインストール（おすすめ）

2025年4月現在、最新版がHomebrew上で配信されているので、macOSの方はソースからのインストール作業をする必要がありません（ちなみに2019.3版は私が作成しました！）。
<https://github.com/Homebrew/homebrew-core/blob/master/Formula/gromacs.rb>

```bash
brew install gromacs
```

これで一発で`/usr/local/Cellar/gromacs/`以下（M1 Macの方は`/opt/homebrew/Cellar/gromacs`）にインストールされるはずです。一度ターミナルを再起動して、`gmx --version`でバージョン情報が表示されるかどうか確かめましょう。

## Linux OSの場合：NVIDIAのGPUを利用するインストール

Ubuntuの場合は `apt` で、CentOSやRedHatの場合は`yum`または`dnf` でfftw、cmake（またはcmake3）をインストールしておきます。以下ではCUDA 11.8以降とGNU compiler 11.3.0(`/usr/bin/gcc`)の使用を想定しています。

### Ubuntu 22.04でのインストール準備

`apt`を使ってCMakeとfftw3をインストールしておきます。

```bash
sudo apt -y install cmake libfftw3-dev
```

### Rhel系Linux (Redhat, Fedora, CentOS, Rocky Linux, Almalinuxなど）でのインストール準備

`dnf`を使ってCMakeとfftw3をインストールしておきます。

```bash
dnf -y install cmake3 fftw-devel
```

### CUDAドライバのインストール (Linux OS)

CUDAドライバもインストールしておきます。こちらに一例を載せておきますが、時間が経つに連れやり方が変化するので、NVIDIA CUDA公式ウェブサイトで正式なインストール方法を調べておきそれに従う方が良いです。

あとCUDAインストールは場合によってはうまくできなかったり最悪カーネルパニックになって起動しなくなることもあるのでその辺は祈るしかない……

Ubuntu 22.04の場合

```bash
# apt-get -y install cudaまたはnvidia-openの時点でエラーが発生するなら、
# 以下のコマンドで古いドライバを削除し、その後再インストール。
# sudo apt-get -y --purge remove 'nvidia-*' 'cuda-*'
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
# nvidia-openをインストール
sudo apt-get -y install nvidia-open
# 必要に応じて古いバージョンも入れる
sudo apt-get -y install cuda-toolkit-12-8 cuda-toolkit-12-6
# このあと一度再起動したほうが良さそう
```

### 最新のcmakeのインストール

最新のGromacsのインストールには、最新に近いcmakeが必要です。以下のコマンドでインストールしておきます。
`--prefix`でインストール先を指定しておきます。ここは各自好きな場所を指定してください。

```bash
wget https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6.tar.gz
tar zxvf cmake-3.31.6.tar.gz
cd cmake-3.31.6/
./bootstrap --prefix=${HOME}/apps/cmake/3.31.6 --parallel=4
make -j4 && make install
```

終わったら、PATHを追記しておきます。Gromacsのインストール時にはこのcmakeを使うことになりますが、インストール後は必要ないので、PATHを通すのは一時的にしておくのが良いでしょう。

```bash
export PATH=${HOME}/apps/cmake/3.31.6/bin:$PATH
```

`cmake --version`でバージョンが表示されることを確認しておきます。

```bash
$ cmake --version
cmake version 3.31.6

CMake suite maintained and supported by Kitware (kitware.com/cmake).
```

### Gromacsのcmake設定

CUDAとGPUを使いたい場合は`cmake`時に必ずフラグ`-DGMX_GPU`を入れる必要があります。NVIDIA GPUのときは`-DGMX_GPU=CUDA`を指定します。

以下ではインストール先を`${HOME}/apps/gromacs/2025.1`とすることにしています。ここは各自好きな場所を指定してください。

```bash
# ソースコードのダウンロードと解凍
curl https://ftp.gromacs.org/gromacs/gromacs-2025.1.tar.gz -o gromacs-2025.1.tar.gz
tar zxvf gromacs-2025.1.tar.gz
cd gromacs-2025.1
mkdir build
cd build
# インストールの前準備のcmakeコマンド
# インストール先を-DCMAKE_INSTALL_PREFIXで指定することに注意。
cmake .. -DCMAKE_INSTALL_PREFIX=${HOME}/apps/gromacs/2025.1 \
-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DGMX_MPI=OFF \
-DGMX_DOUBLE=OFF -DGMX_OPENMP=ON -DGMX_GPU=CUDA
```

`cmake`処理が終わった後、エラーなくconfiguring done, Generating doneと表示されることを確認します。

```
-- Check if the system is big endian
-- Searching 16 bit integer
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Configuring done
-- Generating done
-- Build files have been written to: /root/temp/build/gromacs-2025.1/build
```

終わったら、`make`コマンドでインストールを実行します。だいたい10分くらいで終わります。

```bash
make -j8 install
```

また、MPI版のインストールも必要ならばしておきます。これはノード間MPIであり、複数台の計算機を繋いで処理を高速化するためのものです。1台のみの使用であれば必要ありません。

```bash
cd gromacs-2025.1
mkdir build
cd build
# ここまで非MPI版と同じ。以下で-DGMX_MPI=ONを追加するのがポイント
rm -rf *

cmake .. -DCMAKE_INSTALL_PREFIX=/home/apps/gromacs/2025.1 \
-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DGMX_MPI=ON \
-DGMX_DOUBLE=OFF -DGMX_OPENMP=ON -DGMX_GPU=CUDA

make -j8 install
```