|
[资源]
【原创】Ubuntu下编译并行版本lammps以及配置vmd
说明:中间绝大多数步骤参照mdbbs中操作,只是有些出入,有兴趣者可搜索原贴,中间按照原贴操作出了错误,这次把自己安装时候的一些问题以及解决办法详细的整理了一下发上来,欢迎交流
本人操作系统 为ubuntu8.04,新装系统,因工作站不想更改原有操作系统,且原操作系统只有一个分区,故采用wubi安装,请勿鄙视。
为操作方便将terminal 加入到右键中
$sudo apt-get install nautilus-open-terminal
首先安装VMD,从vmd网站上下载vmd-1.8.6.bin.LINUX.opengl.tar.gz,地址为http://www.ks.uiuc.edu/Development/Download/download.cgi
安装之前需要先安装csh和libstdc++5,如没有libstdc++5,则安装会没有问题,安装后vmd将无法正常启动。
$sudo apt-get install csh
$sudo apt-get install libstdc++5
然后安装vmd
$cd vmd-1.8.6
$./configure LINUX
$cd src
$sudo make install
至此vmd安装成功,可以在terminal 中输入vmd测试软件运行效果
下为lammps多核并行版本,主要步骤参考www.mdbbs.org中相关贴子,并加以个人实践
mdbbs曾讨论到ssh通信效率比rsh效率高,所以以下先安装 ssh
在terminal 中输入sudo vim /etc/hosts
修改此文件,将所有节点名称及ip地址填入,格式如下:
127.0.0.1 localhost
127.0.1.1 lm-desktop #主机名
192.168.76.43 lm-desktop #主机名
此时可以使用ssh lm-desktop测试ssh通信是否正常。
安装设置ssh
sudo apt-get install openssh-client openssh-server
以设定的用于启动mpi计算的用户登录,运行
ssh-keygen -t rsa #对于所有提示直接回车即可
这将生成一个密钥对,分别存放在~/.ssh/id_rsa和~/.ssh/id_rsa.pub文件内。
然后进行访问授权,运行:
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
chmod go-rwx ~/.ssh/authorized_keys
ssh-agent $SHELL
ssh-add
以上配置ssh完毕。
以下将分步安装fftw,mpich,lammps
1:安装fftw
下载fftw-2.1.5.tar.gz ,解压
$ tar xvzf fftw-2.1.5.tar.gz
$ cd fftw-2.1.5
$sudo ./configure --prefix=/opt/matlib/fftw215-gnu --enable-float
此时如果出现以下错误
checking for vendor's cc to be used instead of gcc... checking for cc... cc
checking for C compiler default output... configure: error: C compiler
cannot create executables
则表示g++库缺失,可输入sudo apt-get install g++后再重新运行上句命令
$sudo make
$sudo make install
2:安装 mpich
下载mpich.tar.gz
$tar xvzf mpich.tar.gz
$ cd mpich-1.2.7p1/
$./configure --prefix=/opt/mpich-gnu -rsh=ssh (此处添加ssh通信方式,与以前的一个贴子略有不同)
$sudo make
$sudo make install
3:安装lammps
$tar xvzf lammps-upgrade.tar.gz
$cd lammps-28Oct08/
$cd src
$gedit MAKE/Makefile.g++
修改mpich和fftw的安装路径
# g++ = RedHat Linux box, g++, MPICH2, FFTW
SHELL = /bin/sh
# System-specific settings
CC = g++
CCFLAGS = -g -O -DFFT_FFTW -DLAMMPS_GZIP -DMPICH_IGNORE_CXX_SEEK -I/opt/mathlib/fftw215-gnu/include -I/opt/mpich-gnu/include
DEPFLAGS = -M
LINK = g++ -L/opt/mathlib/fftw215-gnu/lib -L/opt/mpich-gnu/lib
LINKFLAGS = -g -O
USRLIB = -lfftw -lmpich
SYSLIB = -lpthread
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size
# Link target
$(EXE): $(OBJ)
$(LINK) $(LINKFLAGS) $(OBJ) $(USRLIB) $(SYSLIB) -o $(EXE)
$(SIZE) $(EXE)
# Library target
lib: $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)
# Compilation rules
%.o:%.cpp
$(CC) $(CCFLAGS) -c $<
%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# Individual dependencies
DEPENDS = $(OBJ:.o=.d)
include $(DEPENDS)
保存后退出,然后在src目录下生成lmp_g++
$make g++
也可以将生成的lmp_g++复制到/bin下方便调用
$sudo cp lmp_g++ /bin
多核并行例子
$cd ../bench
2 /opt/mpich-gnu/bin/mpirun -np 16 ../src/lmp_g++
[ Last edited by lei0736 on 2009-11-25 at 14:21 ] |
|