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

差分

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

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
分子シミュレーション関連:環境構築:gromacs [2019/03/04 10:03] – [概要] mumeiyamibito分子シミュレーション関連:環境構築:gromacs [2019/03/20 12:17] (現在) mumeiyamibito
行 7: 行 7:
 ===== インストール ===== ===== インストール =====
 ==== 簡単な方法 ==== ==== 簡単な方法 ====
-  * <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 のリポジトリで固定されてしまうため、最新版を扱いたい場合は、以下を参照
  
 ==== 手動インストール ==== ==== 手動インストール ====
行 21: 行 22:
 </code> </code>
   - 設定する。   - 設定する。
-    * CPU 用\\ <code bash> +    * CPU 用<code bash>$ ./configure --prefix=/usr/local --enable-static --with-slurm CC=gcc CXX=g++ F77=gfortran FC=gfortran</code> 
-$ ./configure --prefix=/usr/local --enable-static --with-slurm CC=gcc CXX=g++ F77=gfortran FC=gfortran +    * GPU 用<code bash>$ ./configure --prefix=/usr/local --enable-static --with-slurm CC=gcc CXX=g++ F77=gfortran FC=gfortran --with-cuda</code> 
-</code> +  - コンパイルする。<code bash>$ make -j 4</code> 
-    * GPU 用\\ <code bash> +  - インストールする。<code bash>$ sudo make install</code>
-$ ./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 | 公式サイト]]からパッケージをダウンロードする。   - [[http://www.fftw.org | 公式サイト]]からパッケージをダウンロードする。
     * ここでは、''fftw-3.3.8.tar.gz'' を例にする。     * ここでは、''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.1551661388.txt.gz
  • 最終更新: 2019/03/04 10:03
  • by mumeiyamibito