文書の表示以前のリビジョンバックリンク文書の先頭へ この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。 ====== Gromacs ====== ===== 概要 ===== * フローニンゲン大学で開発された分子動力学シミュレーションのソフトウェアパッケージ * 生体分子の分子動力学シミュレーションパッケージといえば、AMBER と Gromacs ってぐらい有名なパッケージ * 使い方は、[[分子シミュレーション関連/gromacs|こちら]] ===== インストール ===== ==== 簡単な方法 ==== <code bash>$ sudo apt-get install gromacs gromacs-data gromacs-mpich gromacs-openmpi</code> * ただし、バージョンが Ubuntu のリポジトリで固定されてしまうため、最新版を扱いたい場合は、以下を参照。 ==== 手動インストール ==== * 環境: Ubuntu 16.04 (64 bit) === Openmpi のインストール === - [[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 のインストール === - [[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 本体のインストール === - 必要パッケージをインストールする。<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 サーバ 分シミュレーション}} 分子シミュレーション関連/環境構築/gromacs.txt 最終更新: 2019/03/20 12:17by mumeiyamibito