0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntu16.04においてGromacsでCUDAを使用するための準備

Last updated at Posted at 2019-01-11

行ったこと

###パッケージの準備

  • 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と合っているか.
  • コマンドをペーストする際に改行で途切れていないか.
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?