分子シミュレーション関連:環境構築:gromacs

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
分子シミュレーション関連:環境構築:gromacs [2019/03/01 20:38] – [手動インストール] mumeiyamibito分子シミュレーション関連:環境構築:gromacs [2019/03/20 12:17] (現在) mumeiyamibito
行 3: 行 3:
   * フローニンゲン大学で開発された分子動力学シミュレーションのソフトウェアパッケージ   * フローニンゲン大学で開発された分子動力学シミュレーションのソフトウェアパッケージ
   * 生体分子の分子動力学シミュレーションパッケージといえば、AMBER と Gromacs ってぐらい有名なパッケージ   * 生体分子の分子動力学シミュレーションパッケージといえば、AMBER と Gromacs ってぐらい有名なパッケージ
 +  * 使い方は、[[分子シミュレーション関連/gromacs|こちら]]
  
 ===== インストール ===== ===== インストール =====
 ==== 簡単な方法 ==== ==== 簡単な方法 ====
-  * <code bash>$ sudo apt-get install gromacs gromacs-data gromacs-mpich gromacs-openmpi</code> +<code bash>$ sudo apt-get install gromacs gromacs-data gromacs-mpich gromacs-openmpi</code> 
-  * ただし、バージョンが Ubuntu のリポジトリで固定されてしまうため、最新版を扱いたい場合は、[[分子シミュレーション関連/Gromacs/Gromacs 5.1.2 インストール方法 (Ubuntu 14.04)]] を参照+ 
 +  * ただし、バージョンが Ubuntu のリポジトリで固定されてしまうため、最新版を扱いたい場合は、以下を参照
  
 ==== 手動インストール ==== ==== 手動インストール ====
行 14: 行 16:
 === Openmpi のインストール === === Openmpi のインストール ===
   - [[https://www.open-mpi.org/ | 公式サイト]]からパッケージを入手する。   - [[https://www.open-mpi.org/ | 公式サイト]]からパッケージを入手する。
 +    * ここでは、''openmpi-4.0.0.tar.gz'' を例にする。
 +  - 展開する。\\ <code bash>
 +$ tar axvf openmpi-4.0.0.tar.gz
 +$ cd openmpi-4.0.0
 +</code>
 +  - 設定する。
 +    * CPU 用<code bash>$ ./configure --prefix=/usr/local --enable-static --with-slurm CC=gcc CXX=g++ F77=gfortran FC=gfortran</code>
 +    * GPU 用<code bash>$ ./configure --prefix=/usr/local --enable-static --with-slurm CC=gcc CXX=g++ F77=gfortran FC=gfortran --with-cuda</code>
 +  - コンパイルする。<code bash>$ make -j 4</code>
 +  - インストールする。<code bash>$ sudo make install</code>
  
 === fftw のインストール === === fftw のインストール ===
 +  - [[http://www.fftw.org | 公式サイト]]からパッケージをダウンロードする。
 +    * ここでは、''fftw-3.3.8.tar.gz'' を例にする。
 +  - 展開する。<code bash>
 +$ tar axvf fftw-3.3.8.tar.gz
 +$ cd fftw-3.3.8
 +</code>
 +  - 設定をする。<code bash>
 +$ ./configure --prefix=/usr/local/fftw CC=gcc CXX=g++ F77=gfortran FC=gfortran --enable-threads --enable-sse2 --enable-openmp --enable-static --enable-shared --with-g77-wrappers MPICC=/usr/local/bin/mpicc LD_FLAGS=l/usr/local/lib CPP_FLAGS=-I/usr/local/include
 +</code>
 +    * 上記に加え、条件に合わせて以下のオプションを追加する (よって、展開後にディレクトリをコピーするなどして、コンパイルするディレクトリをそれぞれ作成すると良い)。
 +    * single 版の場合、''%%--enable-single%%''
 +    * double 版の場合、なし
 +    * single + MPI 版の場合、''%%--enable-single --enable-mpi%%''
 +    * double + MPI 版の場合、''%%--enable-mpi%%''
 +    * GPU 版の Gromacs は、fftw の single を使う。
 +    * 今回は、インストール先を ''%%--prefix=/usr/local/fftw_single%%'' とした。
 +  - コンパイルする。<code bash>$ make -j 4</code>
 +  - インストールする。<code bash>$ sudo make install</code>
  
  
 === Gromacs 本体のインストール === === Gromacs 本体のインストール ===
 +  - 必要パッケージをインストールする。<code bash>$ sudo apt install cmake</code>
 +  - [[http://manual.gromacs.org/documentation/|公式サイト]]からパッケージをダウンロードする。
 +    * ここでは ''gromacs-5.1.2.tar.gz'' を例にする。
 +  - 展開する。<code bash>
 +$ tar axvf gromacs-5.1.2.tar.gz
 +$ cd gromacs-5.1.2
 +</code>
 +  - 作業ディレクトリを作成する。<code bash>
 +$ mkdir single
 +$ cd single
 +</code>
 +    * 作業ディレクトリ名は任意。
 +  - 設定をする。<code bash>
 +$ export LD_FLAGS="-L/usr/local/fftw_single/lib"
 +$ export CPP_FLAGS="-I/usr/local/fftw_single/include"
 +$ export LD_LIBRARY_PATH=/usr/local/fftw_single/lib:$LD_LIBRARY_PATH
 +$ sudo ldconfig
 +$ cmake ../ \
 +    -DCMAKE_C_COMPILER=/usr/local/bin/mpicc \
 +    -DCMAKE_CXX_COMPILER=/usr/local/bin/mpicxx \
 +    -DCMAKE_INSTALL_PREFIX=/usr/local \
 +    -DGMX_FFT_LIBRARY=FFTW3 \
 +    -DCMAKE_PREFIX_PATH=/usr/local/fftw_single \
 +    -DGMX_SIMD=AVX_256 \
 +    -DBUILD_SHARED_LIBS=OFF \
 +    -DGMX_PREFER_STATIC_LIBS=ON \
 +    -DGMX_DEFAULT_SUFFIX=OFF \
 +    -DGMX_BINARY_SUFFIX="" \
 +    -DGMX_LIBS_SUFFIX="" \
 +    -DGMX_MPI=OFF \
 +    -DGMX_DOUBLE=OFF
 +</code>
 +    * 上記オプションは、条件によって変わるので適宜変更する (環境変数 ''LD_FLAGS''、''CPP_FLAGS''、''LD_LIBRARY_PATH'' の FFTW の参照先は末尾の括弧にて表示)。
 +      * single 版: ''-DGMX_MPI=OFF -DGMX_DOUBLE=OFF -DGMX_GPU=OFF'' (single)
 +      * double 版: ''-DGMX_MPI=OFF -DGMX_DOUBLE=ON -DGMX_GPU=OFF'' (double)
 +      * single + MPI 版: ''-DGMX_MPI=ON -DGMX_DOUBLE=OFF -DGMX_GPU=OFF'' (single + mpi)
 +      * double + MPI 版: ''-DGMX_MPI=ON -DGMX_DOUBLE=ON -DGMX_GPU=OFF'' (double + mpi)
 +      * GPU 版: ''-DGMX_MPI=OFF -DGMX_DOUBLE=OFF -DGMX_GPU=ON'' (single)
 +    * それぞれの実行ファイル名の末尾は ''-DGMX_BINARY_SUFFIX''、''-DGMX_LIBS_SUFFIX'' で指定する。
 +      * 例: double 版: ''%%-DGMX_BINARY_SUFFIX="_d"%%''、''%%-DGMX_LIBS_SUFFIX="_d"%%'' → gmx_d
 +      * 例: double + MPI 版: ''%%-DGMX_BINARY_SUFFIX="_d_mpi"%%''、''%%-DGMX_LIBS_SUFFIX="_d_mpi"%%'' → gmx_d_mpi
 +  - コンパイルする。<code bash>$ make -j 4</code>
 +  - インストールする。<code bash>$ sudo make install</code>
 +
 +===== トラブルシューティング =====
 +  * Gromacs コンパイル時に、''nvcc fatal   : Unsupported gpu architecture 'compute_20''' が出てコンパイルできない。
 +    * 問題: コンパイル時に指定している CUDA のバージョンでは ''compute_20'' というアーキテクチャをサポートしなくなったため。
 +    * 解決策 1: CUDA のバージョンを変える (8.0 RC だと、ワーニング程度で済む) 。
 +    * 解決策 2: 下記参考サイトのように ''gromacs-5.1.2/cmake/gmxManageNvccConfig.cmake'' の if 文を書き換える。
 +      * 参考サイト: [[https://stackoverflow.com/questions/47129220/nvcc-fatal-unsupported-gpu-architecture-compute-20-while-cuda9-0-is-installe | c++ - nvcc fatal : Unsupported gpu architecture 'compute_20' while cuda9.0 is installed - Stack Overflow]]
  
 +===== 参考サイト =====
 +  * [[https://www.imsbio.co.jp/md/2158/ | GROMACS 5.1.2 のインストール方法 | 株式会社 情報数理バイオ]]
  
 {{tag>Linux サーバ 分シミュレーション}} {{tag>Linux サーバ 分シミュレーション}}
  • 分子シミュレーション関連/環境構築/gromacs.1551440304.txt.gz
  • 最終更新: 2019/03/01 20:38
  • by mumeiyamibito