科研软件安装

作者: 宇笑 | 来源:发表于2019-08-01 20:34 被阅读0次

服务器软件的安装,现有:

  • cuda
  • hoomd
  • gromacs
  • TBD: vmd,galamost,anaconda, MaterialStudio, Origin,EndnoteX8

服务器软件在centos7.0及以上版本安装测试通过;win软件在win10下测试通过。将这些软件的安装放到一起,方便自己和组内人用。

服务器软件的安装

安装cuda

  1. 安装cuda经常会遇到问题,但大部分都与如何禁用nouveau驱动相关,所以step-1,需要禁用nouveau驱动。
    • 在配置文件中禁用nouveau
      vi /etc/modprobe.d/blacklist.conf 添加:blacklist nouveau
      CentOS 7:
      vim /usr/lib/modprobe.d/dist-blacklist.conf
      并且在加上blacklist nouveau之后还要加上一行options nouveau modeset=0
    • 备份原来的initramfs nouveau image镜像
      mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
    • 创建新的initramfs image镜像
      dracut /boot/initramfs-$(uname -r).img $(uname -r)
      注:重启后会发现终端界面字体变大了,不清晰了,表示nouveau禁用成功。
    • 所有安装已经完成,重新启动机器。
  2. 单独安装nvidia驱动 ./NVIDIA-Linux-x86_64-384.90-1080ti.run
    需要注意几点:
    • cuda安装包本身包含两个部分:cuda-toolkit和nvidia driver,再安装cuda的时候是可以选择只安装cuda-toolkit,而省略nvidia driver的(甚至可以从cuda中抽出单独的部分作为一个安装包)
    • 1080Ti的显卡需要较新的驱动384.90来支持
    • 安装完成后一定要用命令查看一下显卡状态nvidia-smi,如果有错误提示,则安装有问题。
  3. 安装cuda ./cuda_9.0.176_384.81_linux-run 不需要装driver

hoomd

本地编译hoomd-1.3.3及以下版本

(1) mkdir build 然后进入build
(2) cmake -Wno-dev ../ -DCMAKE_INSTALL_PREFIX=$HOME/.local/hoomd -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=On -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DENABLE_MPI_CUDA=On -DENABLE_MPI=On -DPYTHON_EXECUTABLE=`which python2`
(3) make install -j8
注意事项:
1. 确保默认python的是用系统自带的python2
2. 如果编译并行版本的话,需要安装openmpi,并且做好环境变量

anaconda安装二进制hoomd包

anaconda安装的hoomd实际上是anaconda云端已经编译好的hoomd,任何相关包都是依赖于anaconda,如cuda、并行库等。
conda install hoomd=1.3.3 可以将hoomd以一个子包的形式安装到anaconda的软件相关目录下,如果hoomd=1.3.3的版本号不加,则安装最新版(最新版与2.0之前的版本差别较大,新版本的发展已经失去了控制。。。,比如没有xml支持,这简直不能忍!)
当然有时候我们联网并不方便,因为服务器一般与外网是隔绝的,大概为了安全(这时候可以用proxychains联网)。这时候可以将hoomd相关包下载下来本地conda安装。
需要四个包boost-1.59.0-glotzer_py35_6.tar.gz, hoomd-1.3.3-py35_1.tar.gz, mpich2-1.4.1p1-0.tar.gz, mpich-3.2-5.tar.gz
然后按顺序

conda install boost-1.59.0-glotzer_py35_6.tar.gz
conda install mpich2-1.4.1p1-0.tar.gz
conda install mpich-3.2-5.tar.gz
conda install hoomd-1.3.3-py35_1.tar.gz

在anaconda3环境下编译hoomd

现在conda intall安装的预编译的二进制包默认是双精度的,而我们做的模拟大部分是不需要双精度的。关于这个问题,我发信问过作者,他们后面也不会考虑出单精度的预编译包。下面的步骤将hoomd_v2.3.5便以为anaconda python3版本的一个子包,放到site-pakcages中。
conda需要预先安装一些包:

conda install sphinx git mpich2 numpy cmake pkg-config sqlite cmake

然后编译命令

cmake ../ ../ -DMKL_LIBRARIES=$HOME/.local/software/anaconda3_4.2.0/lib/
-DCMAKE_INSTALL_PREFIX=$HOME/.local/hoomd -DCMAKE_CXX_FLAGS=-march=native -DCMAKE_C_FLAGS=-march=native -DENABLE_CUDA=ON -DENABLE_MPI_CUDA=ON -DENABLE_MPI=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DSINGLE_PRECISION=ON -DBUILD_MD=ON -DBUILD_DEPRECATED=ON -DCMAKE_BUILD_TYPE=Release -DUPDATE_SUBMODULES=NO -DPYTHON_EXECUTABLE=`which python` -DBUILD_TESTING=NO -DMPI_HOME=~/.local/software/anaconda3_4.2.0/bin/
# mpi要确保是anaconda的
# python要制定为anaconda的,或者默认的路径
# Tesing单元测试有点问题,不要编译进去。

anaconda创建intel distribution python (idp)环境,并编译安装hoomd

intel环境编译安装hoomd有两个原因:

  • idp组件有intel的优化,尤其在mkl的并行方面做的很好,代码在一定规则下书写可以自动并行。
  • 经测试,idp环境编译的hoomd确实比源anaconda环境编译的速度快些,稳定性好些。
  • ipython的启动,包的加载也有部分加速

安装idp环境

conda update conda
conda config --add channels intel
conda create -n idp intelpython3_full python=3
source activate idp

安装hoomd

cmake .. \
    -DMKL_LIBRARIES=$HOME/.local/software/anaconda3_4.2.0/envs/idp/lib \
    -DCMAKE_INSTALL_PREFIX=$HOME/.local/hoomd \
    -DCMAKE_CXX_FLAGS=-march=native \
    -DCMAKE_C_FLAGS=-march=native \
    -DENABLE_CUDA=ON \
    -DENABLE_MPI_CUDA=ON \
    -DENABLE_MPI=ON \
    -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
    -DSINGLE_PRECISION=ON \
    -DBUILD_MD=ON \
    -DBUILD_DEPRECATED=ON \
    -DCMAKE_BUILD_TYPE=Release \
    -DUPDATE_SUBMODULES=NO

备注:

  • \换行符必须空一格,否则sh运行脚本失败
  • mpi仍然不好用,需要找时间解决

gromacs安装

安装步骤

Note:

  • 需要已经安装cuda,确认cuda安装的路径。默认路径为/usr/local/cuda
  • 需要openmpi-2.0.2.tar.gz, fftw-3.3.6-pl2.tar.gz, gromacs-5.1.4.tar.gz三个软件包,去官网下载最新的即可。为了方便大家,这里放上我的坚果云分享链接,openmpi, fftw-3.3.6, gromacs-5.1.4,可以直接下载
  • 三个软件需要按顺序安装,openmpi-fftw-gromacs。安装目录在本教程中为用户主目录下的.local目录,以openmpi为例,安装目录为/home/jxm/.local/openmpi

安装命令:

$ tar -xvf openmpi-2.0.2.tar.gz
$ cd openmpi-2.0.2
$ mkdir build && cd build
$ ../configure --prefix=$HOME/.local/openmpi/ --enable-mpi-thread-multiple --with-cuda=/usr/local/cuda
$ make -j24
$ make install
$ PATH=$HOME/.local/openmpi/bin:/usr/local/cuda/bin/:$PATH
$ export LD_LIBRARY_PATH=$HOME/.local/openmpi/lib:$LD_LIBRARY_PATH

$ tar -xvf fftw-3.3.6-pl2.tar.gz
$ cd fftw-3.3.6-pl2
$ mkdir build && cd build
$ ../configure --enable-shared --enable-float --enable-mpi --enable-threads --enable-openmp --enable-sse2 --enable-avx --prefix=$HOME/.local/fftw
$ make -j24
$ make install
$ export CPPFLAGS=-I$HOME/.local/fftw/include
$ export LDFLAGS=-$HOME/.local/fftw/lib

$ tar -xvf gromacs-5.1.4.tar.gz
$ cd gromacs-5.1.4
$ mkdir build && cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/.local/gromacs -DGMX_GPU=on -DGMX_MPI=on -DGMX_SIMD=AVX2_256 -DGMX_FFT_LIBRARY=fftw3 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda -DCMAKE_PREFIX_PATH=$HOME/.local/fftw
$ make -j24
$ make install

现在软件安装完毕,最后进行环境变量设置

$ cd ~ && vim .bashrc

将下列几行写入.bashrc文件并保存

CPPFLAGS=-I/home/jxm/.local/fftw/include
LDFLAGS=-I/home/jxm/.local/fftw/lib
PATH=$HOME/.local/openmpi/bin:/usr/local/cuda/bin/:$PATH
LD_LIBRARY_PATH=$HOME/.local/openmpi/lib:$LD_LIBRARY_PATH
PATH=$HOME/.local/gromacs/bin/:$PATH

source 一下

source ~/.bashrc

安装出现的问题1:

"nvcc fatal: Unsupported gpu architecture 'compute_20'"

这是因为cuda9.0不再支持计算能力为20的Fermi架构了,点此查看各型号GPU计算能力,但是gromacs的安装包总的makefile文件并没有去除这一项。解决方法很简单,找到相应makefile中的sm_20项删除即可。
打开解压缩的gromacs软件包中的相应文件:
gromacs-5.1.4/cmake/gmxManageNvccConfig.cmake
注释掉第204行的list (APPEND GMX_CUDA_NVCC_GENCODE_FLAGS "-gencode;arch=compute_20,code=sm_20")即可正常编译。(ps: 这段代码实际上是先确定cuda版本,然后确定支持的计算架构(计算能力),正常新的cuda版本是向下兼容的,但是cuda9.0不支持比较老的compute_20的Fermi架构)

galamost 安装

单机版

Note: 我们大部分时候并不用并行的,所以安装单卡版即可。
step1: 安装boost库
给出安装脚本boost_install.sh(和boost压缩包的坚果云下载链接, boost_install.sh脚本中的一些参数可以根据需要修改,如安装路径,默认是/opt/boost-1.59
step2: 编译galamost源码
给出最新的galamost源码坚果云下载链接

./configure --prefix=/opt/galamost4 --boost=/opt/boost-1.59 
make install -j 24
echo 'export PATH=/opt/galamost4/bin/:$PATH' >> ~/.bashrc # j加下环境变量

并行版本

./configure CFLAGS=-fPIC --disable-mcast --enable-shared --enable-mpi-thread-multiple --with-ib-include=/opt/libibverbs/include --with-ib-libpath=/opt/libibverbs/lib --with-cuda=/usr/local/cuda --enable-cuda --prefix=/opt/mvapich2

./configure --boost=/home/jxm/.local/software/anaconda3_5.3.0/envs/py27/include/boost 
--cuda=/usr/local/cuda --gpu_mpi=on --cuda-arch=61

相关文章

  • 科研软件安装

    服务器软件的安装,现有: cuda hoomd gromacs TBD: vmd,galamost,anacond...

  • ubuntu16.04 LTS英文版 安装goole pinyi

    本人安装了英文版ubuntu 16.04 LTS, 考虑到科研或开发软件使用英文版的更加方便,遇到问题便于goog...

  • 安装生信软件

    软件安装分类 安装之后的软件目录要求有序清楚干净 miniconda软件安装 各类语言安装包 杂记 几个软件的安装...

  • day3-阿来

    Linux软件安装 conda下载 miniconda安装 激活 安装软件

  • 科研软件Endnote指南

    Endnote技巧 Endnote技巧[1]如何找到导入的PDF文件 Endnote技巧[2]如何快速彻底删除导入...

  • choco使用记录

    目录 # 用途# 安装# 使用# ----》搜索软件# ----》安装软件# ----》查看软件# ----》升级...

  • yum备忘

    添加软件源(以jenkins说明) 软件安装 软件查找 查看软件安装位置

  • 系统基础-软件安装

    Linux 软件安装 你可以了解些什么 源码包编译安装 RPM 安装软件 yum 安装软件 三种安装方法的比较 源...

  • 学习小组Day3笔记--郝志刚

    LInux安装软件 conda相当于软件管家可以下载多款软件。安装思路:wget 下载软件bash 安装sourc...

  • RedHat 7基本知识

    RPM红帽软件包 软件如何安装:源代码包+安装规则,根据安装规则安装源代码包(做成RPM) 安装软件:rpm -i...

网友评论

    本文标题:科研软件安装

    本文链接:https://www.haomeiwen.com/subject/nlfhdctx.html