ワークステーション導入の記録、Feb. 6–17, 2020。

“Great Red Oystrich Makes All Chemists Sane”

環境: CentOS Linux release 7.7.1908 (Core) + GNOME, GCC 4.8.5

Contents

便利コマンド

・nvidia-smi – GPUの使用率、状態を確認
・sensors – CPU温度の表示

yumからインストールしたlm_sensors 3.4.0パッケージではCPU温度は表示されたものの、ファンや電圧をモニターする “Nuvoton NCT6796D Super IO Sensors” がsensors-detectで検出されなかった。手動でlm_sensors (3.6.0) をビルドしてインストールしたところ検出されるようになった。しかし

sudo modprobe nct6775 force_id=0x290 しても “modprobe: ERROR: could not insert ‘nct6775’: No such device” とのエラーが出る。

NCT6796Dに対応したdriverにアップデートするため、ELRepoレポジトリを有効にしてkernel moduleをインストールする。

$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ sudo yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
$ sudo yum install kmod-nct6775
$ sudo /usr/local/sbin/sensors-detect --auto

あるいはKernelを最新安定板(kernel-ml)にアップデートする。

・cat /proc/driver/nvidia/version – nvidiaドライバのバージョン確認
・make -jN ー NにCPUのコア(スレッド)数を入れると並列コンパイル。
・nohup – 端末を閉じても計算を続けたい時にコマンドの頭に入れる。

日本語入力

参考サイト: CentOS7で日本語を入力する方法 – Mikitechnica

左上の「アプリケーション」→「システムツール」→「設定」。「地域と言語」→入力ソースの左下の「+」ボタン→「日本語」→「日本語(かな漢字)」を選択し、「追加」。Windows + Spaceで入力ソースを切り換え。

ホスト名の変更

$ sudo hostnamectl set-hostname *****

ファイルの転送

Sambaは使わないことにした。macOSからsshとCyberduckでsftpでログインできることを確認した。

GUI、CUIの切り換え

参考サイト: CentOS 7をCUIで起動する方法 – クロの思考ノート

GUI → CUI

$ sudo systemctl disable gdm.service

CUI → GUI

$ sudo systemctl enable gdm.service

要再起動。

ログイン画面で Ctrl + Alt + F2でコンソールモードに、Ctrl + Alt + F1でGUIモードに切り替えられる。

Kernel

参考サイト: CentOS 7~8 最新安定版カーネルインストール、及び切り替え – etuts+

ELRepoレポジトリから最新安定板(2020年3月現在)kernel-ml 5.5.13-1をインストールして、元々の3.10から切り換えた。再起動できたが、ログイン画面にならない。関連パッケージkernel-ml-* も入れ替え後に、NVIDIAドライバをダウンロードしてきてインストールしなおした。正常に起動。これで、USB 3.1が使えるようになるはず。

GPUドライバ、CUDA

GPUドライバ: 440.44 → 440.59 (2020/2/7) → 440.64(2020/3/26)
CUDA:

$ sudo mv /usr/local/cuda /usr/local/cuda-10.0
$ wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
$ sudo sh cuda_10.2.89_440.33.01_linux.run

Developer Toolset 6(including GCC 6.3.1) を使用

参照サイト: Developer Toolset 6 by Software Collections

$ scl enable devtoolset-6 bash

$ exit で元に戻る。
※ “$sudo make” すると元のGCC4.8.5が使われてしまうので注意。rootに切り替えてから “# scl enable devtoolset-6 bash” すると安心。
常にdevtoolsを使うには ~/.bashrc に “source /opt/rh/devtoolset-6/enable” を書いておく。ただし元には戻せない。

ジョブ管理システムの導入

参考: CentOS 7でTorqueのセットアップ – Qiita

$ sudo yum install -enablerepo=epel torque-client torque-mom torque-server torque-scheduler torque-devel
$ sudo su
# create-munge-key

# pbs_server -t create -f -D &
# pbs_server_pid=$!

# kill $pbs_server_pid

# echo "$HOSTNAME np=$(nproc) num_node_boards=1 numa_board_str=$(nproc) gpus=2" > /var/lib/torque/server_priv/nodes

# systemctl start munge
# systemctl start trqauthd
# systemctl start pbs_server
# systemctl start pbs_sched
# systemctl start pbs_mom
# systemctl enable munge trqauthd pbs_server pbs_sched pbs_mom

# qmgr -c "create queue batch queue_type=execution"
# qmgr -c "set queue batch started=true"
# qmgr -c "set queue batch enabled=true"
# qmgr -c "set queue batch resources_default.nodes=1"
# qmgr -c "set queue batch resources_default.walltime=3600"
# qmgr -c "set server default_queue=batch"
# qmgr -c "set server scheduling=true"

$ qmgr -c 'p s'
$ pbsnodes -a 
#設定の確認とノード状態の確認。status = free、だとジョブを受けられる状態。

qsub, qstat, qdelでジョブを管理できる。

Open-MPI 3.1.5のインストール

参考サイト:
FAQ: Building CUDA-aware Open MPI

gdrcopyのインストール

$ wget https://github.com/NVIDIA/gdrcopy/archive/master.zip
$ unzup master.zip
$ cd gdrcopy-master
$ sudo make PREFIX=/usr/local/gdrcopy CUDA=/usr/local/cuda all install
$ sudo ./insmod.sh

UCXのインストール

$ sudo yum install numactl-devel
$ wget https://github.com/openucx/ucx/releases/download/v1.7.0/ucx-1.7.0.tar.gz
$ tar xvzf ucx-1.7.0.tar.gz
$ cd ucx-1.7.0
$ ./configure --prefix=/usr/local/ucx/1.7.0 --with-cuda=/usr/local/cuda --with-gdrcopy=/usr/local/gdrcopy
$ make
$ sudo make install

Gromacs2019のインストールではOpenmpiのversion 1.6以上が推奨されている。後でインストールするORCAのためにOpen-MPI 3.1.4もインストールした。configure時には “tm.h” をデフォルトで探すが、–with-tmフラッグを付けておくと “tm.h” が見つからない時にエラーとなる。

$ wget https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.4.tar.gz
$ tar xvzf openmpi-3.1.4.tar.gz
$ cd openmpi-3.1.4
$ ./configure --prefix=/usr/local/open-mpi/3.1.4_gcc6.3.1 --with-tm CPPFLAGS=-I/usr/include/torque
$ make all
$ sudo su
# make install

以下を ~/.bashrc に追記。

#open-mpi用設定
MPIROOT=/usr/local/open-mpi/3.1.4_gcc6.3.1
export PATH=$MPIROOT/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MPIROOT/lib
#export MANPATH=$MANPATH:$MPIROOT/share/man

Gromacs2019.5のインストール

分子動力学シミュレーションプログラム。
公式サイト: Gromacs.org

Gromacsのビルドにはcmake (3.4.3 or higher) が必要。yumからインストールできるcmakeは2.8.12のため自分でインストールした。Gromacs2020のsourceのchecksumの計算のためにpython3をyumからインストールした ($ sudo yum install python3)。

$ wget https://github.com/Kitware/CMake/releases/download/v3.16.4/cmake-3.16.4.tar.gz
$ tar xvzf cmake-3.16.4.tar.gz
$ cd cmake-3.16.4
$ ./bootstrap --prefix=/usr/local/cmake --no-system-libs
$ make
$ sudo make install

CPU版

$ wget http://ftp.gromacs.org/pub/gromacs/gromacs-2019.5.tar.gz
$ tar xvzf gromacs-2019.5.tar.gz
$ cd gromacs-2019.5
$ mkdir build
$ cd build
$ scl enable devtoolset-6 bash
$ export VMDDIR=/usr/local/vmd193/lib
$ cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON \
-DGMX_GPU=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/2019.5
$ make
$ make check
$ sudo make install
~/.bashrcに source /usr/local/gromacs/2019.5/bin/GMXRC を追加。

CPU-MPI版

$ cmake .. -DGMX_GPU=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/2019.5 -DGMX_BUILD_MDRUN_ONLY=ON \
-DGMX_BUILD_SHARED_LIBS=OFF -DGMX_MPI=ON
$ make
$ make check
$ sudo make install

GPU版

$ cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_GPU=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/2019.5_cuda
$ make
$ make check
$ sudo make install

GPU-MPI版

$ cmake .. -DGMX_BUILD_OWN_FFTW=ON -DGMX_GPU=ON -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/2019.5_cuda \
-DGMX_BUILD_MDRUN_ONLY=ON -DGMX_BUILD_SHARED_LIBS=OFF -DGMX_MPI=ON
$ make
$ make check
$ sudo make install

実行速度の比較

オプションは “-pin on -resethway -noconfout”。

Version Compiler等 procs thread GPU GPU tasks paralleli-

 

 

 

zation

ns/day
2019.5 GCC 6.3.1 (AVX2-256) 1 1 0 1.688
Intel Compiler  19.1.0.20191121 1 1 0 2.094
GCC 8.3.1 1 1 0 2.096
GCC 6.3.1 (AVX512) 1 1 0 2.102
1 2 0 OpenMP 3.976
1 4 0 7.813
1 8 0 14.876
8 8 0 thread MPI 13.713
GCC 6.3.1 (AVX512)

 

 

 

OpenMPI 4.0.2

8 8 0 MPI 13.417
GCC 6.3.1 (AVX512)

 

 

 

CUDA 10.2

1 1 1 PP (non-bonded)

 

 

 

PME

24.279
1 2 1 OpenMP 46.275
1 4 1 86.828
1 8 1 113.155
Version Compiler等 procs thread GPU GPU tasks paralleli-

 

 

 

zation

ns/day
2020.1 GCC 6.3.1 1 1 0 2.121
1 2 0 OpenMP 4.017
1 4 0 7.915
1 8 0 15.026
GCC 6.3.1

 

 

 

CUDA 10.2

1 1 1 PP (non-bonded)

 

 

 

PME

25.996
1 2 1 OpenMP 49.437
1 4 1 87.792
1 8 1 114.822
GCC 6.3.1 1 1 0 2.141*
1 2 0 OpenMP 4.012*
1 4 0 7.831*
1 8 0 14.490*
GCC 6.3.1

 

 

 

CUDA 10.2

1 1 1 PP (non-bonded, update)

 

 

 

PME

28.802*
1 2 1 OpenMP 55.383*
1 4 1 100.179*
1 8 1 126.110*
2 2 2 PP (non-bonded, update, bonded)

 

 

 

PME

thread-MPI + OpenMP 38.852*
2 4 2 59.652*
2 8 2 82.539*
2 2 1 P2P, PP (non-bonded, update, bonded)

 

 

 

PME,

123.466*
2 2 2 121.744*
2 4 2 143.346*
4 4 2 149.603*
4 4 2 155.283*†‡
2 8 2 156.652*
4 8 2 160.870*
4 8 2 187.990*†‡

* constraints = h-bonds.

export GMX_GPU_DD_COMMS=true && export GMX_GPU_PME_PP_COMMS=true && export GMX_FORCE_UPDATE_DEFAULT_GPU=true  (参考: Gray, Alan (2020-02-25) Creating Faster Molecular Dynamics Simulations with GROMACS 2020. NVIDIA Developer Blog.)

PP:0,PP:0,PP:1,PME:1.

GRACEのインストール

Gromacsプログラムによる解析で出力されたxvgファイルの表示用。

$ sudo yum install --enablerepo=epel grace

でインストールしたものは “Broken or incomplete installation – read the FAQ!”と表示され起動しなかった。
関連ライブラリ

$ wget http://li.nux.ro/download/nux/dextop/el7/x86_64//pdflib-lite-7.0.5-5.el7.nux.x86_64.rpm
$ wget http://li.nux.ro/download/nux/dextop/el7/x86_64//pdflib-lite-devel-7.0.5-5.el7.nux.x86_64.rpm
$ sudo rpm -ihv pdflib-lite*
$ sudo yum --enablerepo=epel install fftw2-devel
$ sudo yum install libXpm-devel motif-devel
$ wget ftp://plasma-gate.weizmann.ac.il/pub/grace/src/grace-latest.tar.gz
$ tar xvzf grace-latest.tar.gz
$ cd grace-5.1.25/
$ scl enable devtoolset-6 bash
$ ./configure --prefix=/usr/local
$ make
$ make check
$ sudo make install

/usr/local/grace/bin にPATHを通す。

PLUMEDのインストール

分子動力学シミュレーションのための拡張サンプリングアルゴリズムライブラリ。GROMACSにパッチを当てると、ハミルトニアンレプリカ交換シミュレーションの機能が追加される。

PLUMED 2.6.0のコンパイル

$ tar xvzf plumed-src-2.6.0.tgz
$ cd plumed-2.6.0/
$ ./configure --prefix=/usr/local/plumed/2.6.0
$ sudo make install

PLUMED-patched GROMACS 2019.4 のコンパイル

$ wget http://ftp.gromacs.org/pub/gromacs/gromacs-2019.4.tar.gz
$ tar xvzf gromacs-2019.4.tar.gz
$ cd gromacs-2019.4
$ plumed patch -p
$ mkdir build
$ cd build
$ cmake .. -DGMX_MPI=ON -DCMAKE_INSTALL_PREFIX=/usr/local/gromacs/2019.4_plumed/ -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DGMX_GPU=OFF -DGMX_BUILD_OWN_FFTW=ON
$ make
$ sudo make install

VMD 1.9.3のインストール

GROMACSトラジェクトリの可視化。NAMDの実行など。

関連ライブラリのインストール

$ sudo yum install libXi-devel libXinerama-devel tbb tbb-devel libXrandr-devel libXcursor-devel fltk-devel

NVIDIA-OptiX-SDK-7.0.0-linux64.sh – /optに展開。

$ tar xvzf v2.0.1.tar.gz
$ cd ospray-2.0.1
$ mkdir build
$ cd build
$ ccmake ../scripts/superbuild/ -DCMAKE_INSTALL_PREFIX=/usr/local/ospray-2.0.1
$ sudo su
# make
$ sudo yum --enablerepo=epel install netcdf netcdf-static netcdf-devel netcdf-cxx* netcdf-fortran* netcdf-mpi* netcdf-mpich*

VMDのコンパイル

参考サイト: VMD-1.9.3 for LX – 計算科学研究センター

$ export work=PATH_TO_WORKINGDIRECTORY
$ export VMDINSTALLBINDIR=/usr/local/vmd193/bin
$ export VMDINSTALLLIBRARYDIR=/usr/local/vmd193/lib
$ export CPATH=/usr/include/python2.7:$work/vmd-1.9.3/lib/tachyon/src:$CPATH
$ export TCLINC=-I/usr/include
$ export TCLLIB=-L/usr/lib64
$ export PLUGINDIR=$work/vmd-1.9.3/plugins
$ tar xvzf vmd-1.9.3.src.tar.gz
$ tar xvzf vmd-1.9.3.bin.LINUXAMD64-CUDA8-OptiX4-OSPRay111p1.opengl.tar.gz vmd-1.9.3/lib/surf/surf_LINUXAMD64 vmd-1.9.3/lib/stride/stride_LINUXAMD64
$ cd plugins/
$ make LINUXAMD64
$ make distrib
$ cd ../vmd-1.9.3/lib/
$ tar xvzf ../../tachyon-0.99b6.tar.gz
$ cd tachyon/unix/
$ make linux-64-thr
$ cd ../compile/linux-64-thr/
$ cp libtachyon.a ../../
$ cp tachyon ../../tachyon_LINUXAMD64
$ cd $work/vmd-1.9.3
$ sed -i '2iunsetenv XMODIFIERS' bin/vmd.csh
$ sed -i '2iunset XMODIFIERS' bin/vmd.sh
$ sed -i 's/python2.5/python2.7/g' ./configure
$ sed -i 's/-ltachyon/..\/lib\/tachyon\/libtachyon.a/' ./configure
$ ./configure LINUXAMD64 OPENGL FLTK TK LIBTACHYON NETCDF COLVARS TCL PYTHON PTHREADS NUMPY SILENT NOSTATICPLUGINS
$ cd src
$ make 
$ sudo make install
~/.bashrc に "export PATH=/usr/local/vmd193/bin:$PATH" を追加。

macOS側のXQuartzでIndirect GLXを使ってOpenGLアプリケーションを使うは以下のコマンドを実行する。

$ defaults write org.macosforge.xquartz.X11 enable_iglx -bool true

AmberTools19のインストール

分子動力学シミュレーションパッケージ。AmberToolsは無料。Amberは有料(AmberToolsに含まれるsanderより高速なpmemdを使える)。

公式サイト: ambermd.org
参考サイト:Installing Amber – The Amber Project

$ sudo yum install libXt-devel

通常版のインストール

http://ambermd.org/GetAmber.phpからAmberTools19.tar.bz2をダウンロード

$ cd /usr/local/
$ sudo tar xvjf /path-to/AmberTools19.tar.bz2
$ sudo chown -R USER:USER amber18
$ export AMBERHOME=/usr/local/amber18
$ cd $AMBERHOME
$ scl enable devtoolset-6 bash
$ ./configure gnu
There are patches available. Do you want to apply them now? [y/N] — Y + enterでパッチを当てる。
Should I download and install Miniconda for you? [y/n] — y。AmberTools専用のPython環境をインストール。
$ echo "test -f /usr/local/amber18//amber.sh && source /usr/local/amber18//amber.sh" >> ~/.bashrc
$ source  ~/.bashrc
$ make install
$ make test (とても時間がかかる)
2444 file comparisons passed
0 file comparisons failed (0 ignored)
0 tests experienced errors
Test log file saved as /usr/local/amber18/logs/test_at_serial/2020-02-10_10-06-35.log
No test diffs to save!

MPI版のインストール

上と同じディレクトリ内でそのまま作業。

$ ./configure -mpi gnu
$ make install

GPU版のインストール

$ export CUDA_HOME=/usr/local/cuda
$ ./configure -cuda gnu
$ make install

cpptraj.cudaとpbsa.cudaがインストールされた。

GPU-MPI版のインストール

CUDA 10.2を使用。

$ export CUDA_HOME=/usr/local/cuda
$ ./configure -cuda -mpi gnu
$ make install

cpptraj.MPI.cudaがインストールされた。

GENESISのコンパイル

主に理化学研究所杉田グループによって開発されている分子動力学、分子モデリングソフトウェア。

通常版

$ tar xvjf genesis-1.4.0.tar.bz2
$ cd genesis-1.4.0/
$ scl enable devtoolset-6 bash
$ export LD_LIBRARY_PATH=/opt/intel_user/parallel_studio_xe_2020/compilers_and_libraries_2020/linux/mkl/lib/intel64_lin:$LD_LIBRARY_PATH
$ ./configure --prefix=/usr/local/genesis/1.4.0
$ make
$ sudo make install
$ cd ../
$ tar xvjf tests-1.4.0.tar.bz2
$ cd tests-1.4.0/regression_test/
$ export OMP_NUM_THREADS=1
$ python2 ./test.py "mpirun -np 8 /usr/local/genesis/1.4.0/bin/spdyn"

PME_VSHIFT_DISPディレクトリでは “IEEE_INVALID_FLAG IEEE_DIVIDE_BY_ZERO”、PMEディレクトリでは “IEEE_DENORMAL” エラーでabortedした。

AutoDockのインストール

タンパク質-リガンドドッキングプログラム。

Single thread版のインストール

公式サイト: CCSB AutoDock SUITE

$ wget http://autodock.scripps.edu/downloads/autodock-registration/tars/dist426/autodocksuite-4.2.6-x86_64Linux3.tar
$ tar xvf autodocksuite-4.2.6-x86_64Linux3.tar
$ sudo cp x86_64Linux3/autodock4 x86_64Linux3/autogrid4 /usr/local/bin

AutoDock-GPUのインストール

公式サイト: Home – ccsb-scripps / AutoDock-GPU

$ unzip AutoDock-GPU-master.zip
$ cd AutoDock-GPU-master
$ export CPU_INCLUDE_PATH=/usr/local/cuda/include
$ export CPU_LIBRARY_PATH=/usr/local/cuda/lib64
$ export gpu_include_path=/usr/local/cuda/include
$ export gpu_library_path=/usr/local/cuda/lib64
$ (for i in 16 32 64 128 256; do make device="CPU" numwi=$i; do make device="GPU" numwi=$i; done)
$ sudo cp ./bin/autodock_gpu_* /usr/local/bin

CPU版は “Error: clGetDevices(): -1” でクラッシュして動かなかった。

テスト

1PTR.pdbへのATXのドッキングに必要なファイルをPMVで作成した。設定はlong(ga_num_evals 25000000)。Number of GA Runs = 2で比較。

$ autodock4 -p ATX.dpf -l legacy.dlg
$ autodock_gpu_16wi -ffile ./1ptr.maps.fld -lfile ./ATX.pdbqt -nev 25000000 -nrun 2 -resnam "gpu-16wi"
$ autodock_gpu_256wi -ffile ./1ptr.maps.fld -lfile ./ATX.pdbqt -nev 25000000 -nrun 2 -resnam "gpu-256wi_ADADELTA" -lsmet ad
Version Program run time (s) Local search method
Autodock 4.2.6 (single thread) 542.06 Solis-Wets
GPU_16wi 114.939 Solis-Wets (default)
GPU_64wi 49.633
GPU_256wi 32.03
107.523 ADADELTA

MGLTools 1.5.7のインストール

公式サイト: MGLTools
AutoDockのためのファイル生成と可視化。

$ chmod +x mgltools_Linux-x86_64_1.5.7_install
$ sudo ./mgltools_Linux-x86_64_1.5.7_install

GUIインストールウィザードからインストール。起動は /usr/local/MGLTools-1.5.7/bin/pmv 。

GAMESS(US) のインストール

量子化学計算プログラム。公式ウェブサイトからソースコードをダウンロードする。
./lked 時に “libmkl_gf_ilp64.a” がないと怒られたので(libmkl_gf_ilp64.soはあった)、intel MKLを自分でダウンロードして再インストールした。

$ cd /usr/local
$ sudo tar xvzf /path-to-source-file/gamess-current.tar.gz
$ cd gamess
$ sudo su
# ./config
linux64
30Sep2019R2
gfortran
6.3
mkl
/opt/intel_user/parallel_studio_xe_2020/compilers_and_libraries_2020/linux/mkl
proceed
sockets
no
no
# cd ddi
compddiをエディタで開きMAXCPUSの値を変更(デフォルトは32)。
# ./compddi >& compddi.log &
# mv ddikick.x ..
# cd ..
# ./compall >& compall.log &
# ./lked gamess 30Sep2019R2 >& lked.log &

rungmsスクリプトを適宜編集した(SCR=$HOME/scr、USERSCR=$HOME/scr)。
$ cd tests/standards
$ mkdir $HOME/scr
$ ../runtest ../../rungms 30Sep2019R2 4
checktstスクリプトを編集(set ext=log →set ext=gamess)。
$ ./checktst

OpenMPを有効化する場合はInstallation of GAMESS for OpenMP and MPI protocolsを参考にした。OpenMPを利用するにはDIRECT SCF(2電子積分をHDDに書き込まずに毎回計算する)を利用する。そのためには、GAMESSのinputファイル中に

 $SCF DIRSCF=.TRUE. $END

の1行が必要。スレッド数は

$  export OMP_NUM_THREADS=8

で指定する。

Fireflyのインストール

量子化学計算プログラム。旧称PC GAMESS。

メールを送ったところ。

MOPAC2016のインストール

公式サイト: MOPAC2016 – openmopac.net
MOPAC2016 for CentOS 7をダウンロードして展開。無料(Academic)のLicense Keyを取得しておく。

$ unzip MOPAC2016_for_CentOS-7.zip
$ sudo mkdir /opt/mopac
$ sudo chmod 777 /opt/mopac
$ cp MOPAC2016.exe libiomp5.so /opt/mopac
$ chmod +x /opt/mopac/MOPAC2016.exe

“alias mopac=”/opt/mopac/MOPAC2016.exe” と “export LD_LIBRARY_PATH=/opt/mopac:$LD_LIBRARY_PATH” を $HOME/.bashrcに追加。

$ source ~/.bashrc
$ mopac LICENSE_KEY
$ mopac Example\ data\ set.mop

WebMOのインストール

公式サイト:webmo.net
Apacheサーバが自動で起動するようにしておく。

NWChemのインストール

公式サイト: NWChem: Open Source High-Performance Computational Chemistry
参考サイト: NWChem v.6.8.1 – 第一原理計算入門

DFT計算だったら、FireflyやGAMESSより速いらしい(無料の量子化学計算ソフト・プログラムはどれがいいのか” – in-silico notebook)。

OpenMPI 2.0.2のインストール

OpenMPIのバージョンが3以上だとエラーが出るため。

$ wget https://download.open-mpi.org/release/open-mpi/v2.0/openmpi-2.0.4.tar.gz
$ tar xvzf openmpi-2.0.4.tar.gz
$ cd openmpi-2.0.4
$ scl enable devtoolset-6 bash
$ ./configure --prefix=/usr/local/open-mpi/2.0.4_gcc6.3.1
$ make 
$ sudo make install

NWChem 6.8.1のコンパイル

$ wget https://github.com/nwchemgit/nwchem/archive/6.8.1-release.tar.gz
$ tar xvzf 6.8.1-release.tar.gz
$ sudo cp -r nwchem-6.8.1-release/ /usr/local/nwchem-6.8.1
$ sudo chown -R USER:USER /usr/local/nwchem-6.8.1
$ cd /usr/local/nwchem-6.8.1
$ scl enable devtoolset-6 bash
$ export NWCHEM_TOP=/usr/local/nwchem-6.8.1
$ export NWCHEM_TARGET=LINUX64
$ export USE_MPI=y
$ export USE_PYTHONCONFIG=y
$ export PYTHONVERSION=2.7
$ export PYTHONHOME=/usr
$ export MKLROOT=/opt/intel_user/parallel_studio_xe_2020/compilers_and_libraries_2020/linux/mkl
$ export BLASOPT="-L$MKLROOT/lib/intel64 -lmkl_intel_ilp64 -lmkl_core -lmkl_sequential -lpthread -lm"
$ export USE_OPENMP=T
$ export MPIROOT=/usr/local/open-mpi/2.0.4_gcc6.3.1
$ export PATH=$MPIROOT/bin:$PATH
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MPIROOT/lib
$ cd src/
$ make nwchem_config NWCHEM_MODULES="all python"
$ make -jN (Nはスレッド数)

~/.bashrc に

export PATH=/usr/local/nwchem-6.8.1/bin/LINUX64:$PATH

と追記。nwchemの実行前は

$ export PATH=/usr/local/open-mpi/2.0.4_gcc6.3.1/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/open-mpi/2.0.4_gcc6.3.1/lib:/opt/intel_user/parallel_studio_xe_2020/compilers_and_libraries_2020/linux/mkl/lib/intel64_lin:$LD_LIBRARY_PATH

とする。

並列計算: “export OMP_NUM_THREADS=N(スレッド数)” (OpenMPスレッド数)と “mpirun -np N(プロセス数) input.nw <& output.out &” (MPIプロセス数)で制御する。

$ mpirun -np 4 nwchem h2o.nw >& h2o.nwout &

WebMOでの実行のため、/home/webadmin/cgi-bin/webmo/run_nwchem.cgi を編集して、$ENV{‘LD_LIBRARY_PATH’}.=”:$LD_LIBRARY_PATH”; の行にMKLとOpenMPIのPATHを追加した。
WebMOで指定しないといけないnwchemrcファイルの中身は以下のように書く。

nwchem_basis_library /usr/local/nwchem-6.8.1/src/basis/libraries/
nwchem_nwpw_library /usr/local/nwchem-6.8.1/src/nwpw/libraryps/
ffield amber
amber_1 /usr/local/nwchem-6.8.1/src/data/amber_s/
amber_2 /usr/local/nwchem-6.8.1/src/data/amber_x/
#amber_3 /usr/local/nwchem-6.8.1/src/data/amber_q/
#amber_4 /usr/local/nwchem-6.8.1/src/data/amber_u/
spce /usr/local/nwchem-6.8.1/src/data/solvents/spce.rst
charmm_s /usr/local/nwchem-6.8.1/src/data/charmm_s/
charmm_x /usr/local/nwchem-6.8.1/src/data/charmm_x/
# scratch_dir /scratch
# permanent_dir /data
# memory_total  50000000 # 400 MB, double precision words only
# memory_heap   12500000 # 100 MB, double precision words only
# memory_stack  12500000 # 100 MB, double precision words only
# memory_global 25000000 # 200 MB, double precision words only

ORCAのインストール

ボン大学の公式ウェブフォーラムからバージョン4.2.1(ORCA 4.2.1, Linux, x86-64, shared, .tar.xz Archive, 380 MB)をダウンロードして /opt に展開。

#!/bin/bash
PREFIX=/usr/local/open-mpi/3.1.4_gcc6.3.1
 
if [ -z "`echo $PATH | grep $PREFIX/bin`" ]; then
        export PATH=$PREFIX/bin:$PATH
fi
 
if [ -z "`echo $LD_LIBRARY_PATH | grep $PREFIX/lib`" ]; then
        if [ -n "$LD_LIBRARY_PATH" ]; then
                export LD_LIBRARY_PATH=$PREFIX/lib:$LD_LIBRARY_PATH
        else
                export LD_LIBRARY_PATH=$PREFIX/lib
        fi
fi

WebMOから並列で実行するには、
PreviewタブでGenerateボタンを押して入力ファイルを表示して

! B3LYP cc-pVDZ 
%pal
nprocs 4
end

* internal 0 1
C 0 0 0 0.0000000 0.0000000 0.0000000
C 1 0 0 1.5453030 0.0000000 0.0000000
.....

のように %pal ブロックを挿入する。
ターミナルから実行するには

$ source /opt/orca/mpivars.sh
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/orca/orca_4_2_1_linux_x86-64_shared_openmpi314
$ /opt/orca/orca_4_2_1_linux_x86-64_shared_openmpi314/orca input.inp > output.out 
※ MPIで並列計算するにはorcaプログラムへのフルパスが必要。
$ orca_2mkl input -molden

最後のコマンドでGBWバイナリファイルがgmoldenなどで読み込む用のASCIIファイルに変換される。

Gabeditのインストール

様々な量子化学計算プログラムのGUIフロントエンド。分子軌道の可視化。

$ sudo yum --enablerepo=epel install pangox-compat
$ sudo yum install gtk2-devel
$ sudo yum --enablerepo=epel install gtkglext-devel gtkglext-libs openbabel
$ tar xvzf GabeditSrc250.tar.gz
$ cd GabeditSrc250
$ make
$ sudo cp ./gabedit /usr/local/bin

MOLDENのインストール

様々な量子化学計算プログラムのGUIフロントエンド。分子軌道の可視化。

$ sudo yum install imake #provides "makedepend"
$ wget ftp://ftp.cmbi.umcn.nl/pub/molgraph/molden/molden5.9.tar.gz
$ tar xvzf molden5.9.tar.gz
$ cd molden5.9
$ make
$ cd ../
$ sudo cp -r ./molden5.9 /usr/local/
$ cd /usr/local/molden5.9
$ sudo chmodrm ./*.o ./*.f ./*.c ./makefile*

IboViewのインストール

Intrinsic Atomic Orbitals(IAOs)に基づく分子の電子構造解析プログラム。バージョン20150427。

$ wget http://www.iboview.org/bin/ibo-view.20150427.tar.bz2
$ scl enable devtoolset-6 bash
$ tar xvjf ibo-view.20150427.tar.bz2
$ cd ibo-view.20150427
$ export MKLROOT=/opt/intel_user/parallel_studio_xe_2020/compilers_and_libraries_2020/linux/mkl
$ qmake-qt4 main.pro QMAKE_INSTALL_DIR=/usr/local/ibo-view
$ make
$ iboview examples/c2h4.xyz

OpenGLのバージョン >3.2を要求する。Mac側のXquartzでは表示できなかった。

Open-source PyMOLのインストール

分子構造可視化プログラム。
参考サイト:Linux Install – PyMOLwiki
macOS/CentOS 7/Ubuntu 18.04へのオープンソース版PyMOLのインストール方法 – Qiita

$ sudo yum install glew-devel glm-devel python3-devel
$ sudo yum --enablerepo=epel install python-pmw python36-numpy msgpack-devel
$ sudo pip3.6 install --upgrade pip
$ sudo pip3.6 install sip pyqt5 pmw mmtf-python
$ chmodgit clone https://github.com/schrodinger/pymol-open-source.git
$ chmodgit clone https://github.com/rcsb/mmtf-cpp.git
$ mv mmtf-cpp/include/mmtf* pymol-open-source/include/
$ cd pymol-open-source
$ sudo su
# prefix=/usr/local/pymol
# python3 setup.py install --home=$prefix

/usr/local/pymol/bin にPATHを通す。

MODELLERのインストール

タンパク質ホモロジーモデリングプログラム

$ conda config --add channels salilab
$ conda install modeller

プリンターのセットアップ

FUJI XEROXのウェブサイトからLinux用ドライバをダウンロードした。

$ sudo rpm -ivh Fuji_Xerox-DocuPrint_C2110-1.0-1.i386.rpm

CUPSは起動していたので、Firefoxから http://localhost:631/ にアクセス。印刷テストすると、

(/usr/lib/cups/filter/FX_DocuPrint_C2110/FXM_PF) stopped with status 102 (No such file or directory)

というエラーで止まる。”/usr/lib/cups/filter/FX_DocuPrint_C2110/FXM_PF” を実行しようとすると、”/lib/ld-linux.so.2″ がないと言われる。”64bit環境で、32bitでビルドされたコマンドを実行すると上記エラー” が出るらしい。

$ sudo yum install ld-linux.so.2

とすると

  glibc.i686 0:2.17-292.el7                                                                   
  nss-softokn-freebl.i686 0:3.44.0-8.el7_7

がインストールされた。次は “libcups.so.2” がないと言われたので同様にyumからインストール

$ sudo yum install libcups.so.2

したところ大量にパッケージがインストールされた。印刷はできるようになった。

ワークステーション導入の記録、Feb. 6–17, 2020。」への3件のフィードバック

  1. bebe 返信

    Gromacsのインストールについて
    1台のWSにGPUが複数枚搭載されている場合MPIは必要でしょうか。
    ここでのGPU-MPI版を用いる、という事でしょうか。
    ちなみに
    OpenMPI の configure で –with-cuda でコンパイル
    本体(2020-5)を mpicc, mpic++ でコンパイル
    この時 -DGMX_GPU=0N, -DGMX_MPI=ON
    mpirun -np 2 gmx mdrun -gpu_id=01 xxx (GPU2枚の場合)
    では落ちます。
    ベンチマークの値での実行コマンドはどの様にされたのか教えて頂けないでしょうか。

    • RCY 投稿者返信

      1台のマシン上で実行するためには、(レプリカ交換などを行わない限りは)GMX_MPI=ONにする必要はなく、thread-MPIで十分です。-ntmpi オプションが使用できます。
      $ gmx mdrun -deffnm hoge -ntmpi 2 -ntomp 2 -gpu_id 01
      ただし、こちらの環境では、GPU 1枚で計算した方がGPU 2枚に分散して計算するよりも速いです(約1.7倍; 134,177原子のGromacs ADH Benchmarkセット)。

      また、thread-MPIでの実行速度の方が速く(134,177原子。同じ条件で1.1倍)、-update gpuもONに出来るため(export GMX_GPU_DD_COMMS=true; export GMX_GPU_PME_PP_COMMS=trueを設定して、実行速度1.4倍)、Open-MPIの優位性がありません。

      エラーの内容が分かりませんが、Open-MPIをONにしてビルド(build_mdrun_only)したGromacs 2020.5 (gcc 7.3.1, Open-MPI 4.1.0 with/without CUDA support) でも
      $ mpirun -np 4 mdrun_mpi -deffnm xxx -ntomp 2 -gpu_id 01 -nb gpu -bonded gpu -pme gpu -npme 1 -update cpu
      で問題なく計算が走りました。-update gpuはOpen-MPI版では無理でした。

      参考になれば。

      • bebe 返信

        有益な情報ありがとうございます。
        MPIについては更に検討します。

        Graceのインストールですが
        yum install -y epel-release
        yum install -y –enablerepo=epel grace
        でインストールできました。

        bebe

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください