乌班图系统下的gromacs安装
来源:https://blog.csdn.net/qq_39115088/article/details/79531073
首先Ubuntu是用的win10版本16215.0以上提供的Linux子系统,安装gromacs-2016.3并行版。打开开发者模式,就可以直接在win10商店下载了。由于算是一个小的虚拟系统,所以gromacs不能安装gpu。看了网上很多教程,对小白有一点点不友好,特此记录小白的安装过程。
一、基础软件准备
检查是否有gcc,g++,python。版本尽量还是新一点。
检查方法 :
软件名 -version
ps:我的Ubuntu并没有自带gcc
下载地址:https://packages.ubuntu.com
在搜索栏输入软件就可以下载了,当时gcc安装的是5.4.0-6ubuntu1,g++建议安装5.x。
1 .python可以使用apt
(有的时候是apt-get,输入后一般会提示操作)
apt install python
如果报错,可能会提示You might want to run 'apt-get -f install' to correct these. 输入
apt-get -f install
之后就会自动安装。然后再次输入apt install python就可以自动安装了
2 .gcc和g++离线安装
我采用的是下载安装包,dpkg一个一个安装。在上面那个地址,进入后选择适合的gcc安装包(注意名字),64位选择的是amd64。页面中有些红点标识的依赖包,但是不需要都下载。然后解压,用cd命令进入该解压后的文件夹。
wget za.archive.ubuntu.com/ubuntu
tar xvf gcc-4.8.2.tar.bz2 #如果自行下载这行以前可以忽略
cd gcc-5.4.0
./contrib/download_prerequisites
mkdir build
cd build
../configure --prefix=/opt/gcc-5.4.0 --enable-shared --enable-threads=posix --enable-checking=release --enable-languages=c,c++,fortran,java
make 此处可以使用make -j 4进行4核并行编译,提高速度。根据机器配置需要耗费时间不同。
sudo make install
上述代码执行过程程序会报告错误,然后看倒数几行,会写它需要什么软件(比如gcc-5-base,l等),然后在网页中的依赖包寻找,下载。安装语句如下
dpkg -i 路径/文件名
ps:有的依赖包还需要下新的依赖包,总之错误提示里缺少的软件都下载下来安装就好。
把相关依赖包全部安装好,就可以重新执行gcc的安装代码了,这次就会运行成功
同理,g++也可以这么安装。
安装完成后设置环境变量(/etc/profile),需要重新登录后才起作用。
具体操作如下:
vi /etc/bash.bashrc
在文件中,按 i,进入编辑模式,最后一行输入
export PATH=/opt/gcc-5.4.0/bin:$PATH
export LD_LIBRARY_PATH=/opt/gcc-5.4.0/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/gcc-5.4.0/lib64:$LD_LIBRARY_PATH
ESC退出编辑,输入“:wq”保存退出,“:q!”不保存强制退出,“:q”不保存退出,;命令模式光标左移:删除该字符
结束上述操作,输入以下代码查看更改的环境变量:
echo $PATH
“其实‘apt install’也可以安装gcc和g++,但是总是出现网络问题,以上为离线安装方法。我当时是用apt方法结合离线方法安装的,用离线法安装依赖包,用apt install安装gcc和g++”
二、fftw安装
wget http://fftw.org/fftw-3.3.4.tar.gz
tar xvf ~test/fftw-3.3.4.tar.gz
cd fftw-3.3.4
./configure --prefix=/opt/fftw-3.3.4 --enable-float --enable-shared
make
sudo make install
其实在之后安装gromacs时发现这个安装过程意义不大,因为gromacs本身可以匹配自己版本安装fftw。所以此步骤可以忽略
三、cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tar xvf cmake-2.8.12.2.tar.gz
cd cmake-2.8.12.2
./configure --prefix=/opt/cmake-2.8.12.2
make
sudo make install
安装完成后设置环境变量(/etc/profile),需要重新登录后才起作用。(具体操作如上)
export PATH=/opt/cmake-2.8.12.2/bin/:$PATH
四、openmpi(并行必备)
确认以下编译器已安装:gcc –version,g++ –version,python –version
建议去官方网站下载最新版本:http://www.open-mpi.org
下载(默认至当前用户的Downloads目录下)
网址: http://www.open-mpi.org
目前版本:openmpi-3.0.0.tar.gz
解压openMPI安装文件,放在当前用户目录下:
tar zxvf openmpi-1.6.5.tar.gz
进入安装文件目录
cd openmpi-1.6.5
安装openMPI(默认至目录:/usr/local/lib):
./configure
安装所有需要的文件:
sudo make all install
添加库共享路径:
sudo vi /etc/profile
在profile文件的最后加上一行:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
也可以直接命令行输入export,然后进行第8步(自己实验成功的步骤)
使该配置文件生效:
source /etc/profile
进行测试:
cd openmpi-1.6.5/examples
make
mpirun -np 2 hello_c
成功输出即代表测试成功
OpenMPI 安装完测试出现error while loading shared libraries: libopen-rte.so.40
解决方案 输入:ldconfig,运行即可。
检测版本号:
mpirun -version
五、gromacs
若安装单行版gromacs
apt install gromacs
此后按照提示输入语句即可,这个版本是5.1.2
并行版gromacs
wget ftp://ftp.gromacs.org/pub/gromacs/gromacs-2016.3.tar.gz
tar xvf gromacs-2016.3.tar.gz
cd gromacs-2016.3
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/gromacs-2016.3 -DGMX_FFT_LIBRARY=fftw3 -DFFTWF_LIBRARY="/opt/fftw-3.3.4/lib/libfftw3f.so"
-DFFTWF_INCLUDE_DIR="/opt/fftw-3.3.4/include/" -DGMX_MPI=on
如果需要跨节点计算加上-DGMX_MPI=on,需要GPU支持加上-DGMX_GPU=on,需要提前配置好mpi和cuda环境,gpu需要cuda但是虚拟机无效,所以我没有安装cuda。
fftw可能报错,建议cmake改为(此处注意联网,可能要下载fftw)
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/gromacs-5.1.2 -DGMX_BUILD_OWN_FFTW=on -DGMX_MPI=on
之后即可
make –j 2 并行编译
sudo make install
安装完成后设置环境变量(/etc/profile),需要重新登录后才起作用。具体操作如上述
export PATH=/opt/gromacs-2016.3/bin:$PATH
export LD_LIBRARY_PATH=/opt/gromacs-2016.3/lib64:$LD_LIBRARY_PATH
此后输入:gmx_mpi可以看到gmx的版本号等信息
测试
wget ftp://ftp.gromacs.org/pub/benchmarks/ADH_bench_systems.tar.gz
tar -xvf ADH_bench_systems.tar.gz
cd adh_cubic
gmx_mpi grompp –f rf_verlet.mdp
gmx_mpi mdrun
%%或者并行指令,x为可用cpu数,我输入了2:mpirun –np X gmx_mpi mdrun
如果能够正常计算并结束,说明gromacs已经安装成功。
---------------------
!!!!!!!!!
博客中提到的测试我没有成功
1、建议可以换一下采用gmx 命令代替gmx_mpi测试可以
2、安装过程中注意各个软件的安装路径放在同一个环境变量设置文件中!
网友评论