行ったこと
###パッケージの準備
- openmpi1.10.2
- fftw-3.3.4
- cuda8.0
###インストール
- CMakeの再インストール
- 必要なコンパイラをインストール
- OpenMPIのインストール
- FFTWのインストール
- CUDAのインストール
CMakeの再インストール
- CMakeをアップデートして使用した場合に問題が起きる可能性があるとのことで、再インストールしておいた.
sudo apt remove cmake
sudo apt install cmake
OpenMPのインストール
###不足しているコンパイラを揃える. aptでインストールして問題ない.
- OpenMPIではGCC,G++,GFortranのコンパイラが必要である。私は新しいPCで環境構築したのでGFortranがインストールされていなかった.
sudo apt install gfortran
OpenMPI
- サイトからopenmpi1.10.2のパッケージをダウンロードして解凍.
- aptでインストールする場合,オプションとバージョンに注意する.
- 執筆時点で最新のfftw3.3.8はGromacs-2018に対応していないのか動かなかった.
- 適当なフォルダに移動し以下の通りオプション指定する.
- 長いのでのんびり待つ.
cd openmpi-1.10.2
./configure --enable-static --prefix=/usr/lib/openmpi CC=gcc CXX=g++ F77=gfortran FC=gfortran
sudo make
sudo make install
sudo make clean
FFTWのインストール
- 同様にサイトからfftw-3.3.4のパッケージをダウンロードして解凍.
- fftw3-3をaptインストールも可.
コンパイラ
cd fftw-3.3.4
export LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5.4.0:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib/openmpi/lib:$LD_LIBRARY_PATH
./configure --prefix=/work/app/fftw-3.3.4.openmpi.gcc CC=gcc CXX=g++ F77=gfortran FC=gfortran --enable-mpi --enable-threads --enable-sse2 --enable-openmp --enable-static --enable-shared --with-g77-wrappers MPICC=/home/owner/openmpi-3.1.0/ompi/tools/wrappers/mpicc LDFLAGS=-L/usr/lib/openmpi/lib CPPFLAGS=-I/usr/lib/openmpi/include
- 上記のディレクトリには仮ユーザ名
owner
が入っているので各々のユーザ名に書き換える.
sudo make
sudo make install
FFTW
./configure --prefix=/work/app/fftw-3.3.4.openmpi.gcc CC=gcc CXX=g++ F77=gfortran FC=gfortran --enable-mpi --enable-threads --enable-sse2 --enable-openmp --enable-static --enable-shared --with-g77-wrappers MPICC=/usr/bin/mpicc LDFLAGS=-L/usr/lib/openmpi/lib CPPFLAGS=-I/usr/lib/openmpi/include --enable-single
sudo make
sudo make install
CUDAのインストール
- 同様にサイトからCUDA8.0のパッケージをダウンロードして解凍.
sudo sh cuda_8.0.61_375.26_linux.run
- Gromacsが対応しているCUDAはCUDA8以下であり,最新のCUDAではGromacsをインストールすることができなかった.
Gromacsのインストール
- 適当なフォルダに移動しオプション指定する. 新しいフォルダを作成してその中で作業する.
cd gromacs-2018
cd build
export LDFLAGS="-L/work/app/fftw-3.3.4.openmpi.gcc/lib"
export CPPFLAGS="-I/work/app/fftw-3.3.4.openmpi.gcc/include"
export LD_LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/5.4.0:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib/openmpi/lib:$LD_LIBRARY_PATH
sudo cmake ../ -DCMAKE_C_COMPILER=/usr/lib/openmpi/bin/mpicc -DCMAKE_CXX_COMPILER=/usr/lib/openmpi/bin/mpicxx -DGMX_THREAD_MPI=ON -DGMX_SIMD=AVX_256 -DGMX_DOUBLE=OFF -DGMX_OPENMP=ON -DGMX_GPU=ON -DCMAKE_INSTALL_PREFIX=/work/app/gromacs-2018.openmpi.gcc.gpu -DBUILD_SHARED_LIBS=OFF -DGMX_PREFER_STATIC_LIBS=ON -DGMX_FFT_LIBRARY=FFTW3 -DCMAKE_PREFIX_PATH=/work/app/fftw-3.3.4.openmpi.gcc`
-
か,
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=ON -DGMX_THREAD_MPI=ON -DCMAKE_CXX_COMPILER=/usr/lib/openmpi/bin/mpicxx -DGMX_OPENMP=ON -DCMAKE_C_COMPILER=/usr/lib/openmpi/bin/mpicc -
OpenMPIとCUDAを設定しGromacsをインストールし、パスを通した.
sudo make
sudo make install
sudo make clean
気をつけたこと
- パスは自分の環境において正しいか.
- バージョンがGromacsと合っているか.
- コマンドをペーストする際に改行で途切れていないか.