总结:Linux下安装单机并行lammps
○.机器配置:
1.处理器:Intel XEON × 2
2.主板:Intel S5500BC
3.内存:金士顿4G × 6
4.操作系统:Redhat Enterprise 5.3 x86_64
一.下载需要的源文件
fftw-2.1.5.tar.gz
mpich2-1.0.2p1.tar.gz
lammps-1Dec10.tar.gz
并以root身份(以下均在root下)拷贝到
/usr/local/src目录下
二.安装FFTW
# tar
xvzf fftw-2.1.5.tar.gz
# cd
fftw-2.1.5
#
./configure --prefix=/opt/mathlib/fftw215-gnu
--enable-float
#
make
# make
install
三.安装MPICH2
# tar
xvzf mpich2-1.0.2p1.tar.gz
# cd
mpich2-1.0.2p1
#
./configure --prefix=
/opt/mpich2-gnu
#
make
# make
install
如果不出错,应该就是安装成功了。接下来的工作时进行配置。
MPI应用一个管理器来管理运行MPI程序,这个管理器就是mpd,但是在正式开始运行mpd前还需要一个基于安全考虑的配置文件.mpd.conf,这个文件是要放在运行程序的用户的home目录下,本例子中就是/home/mpi/.mpd.conf,而且这个文件只能由这个用户读写,创建文件的命令是,
# cd $HOME
# touch .mpd.conf
# chmod 600 .mpd.conf
什么意思,我暂时也不太清楚,但是就这么做就可以了。
四.安装lammps,附带meam包
# tar
xvzf lammps-1Dec10.tar.gz
# cd lammps-1Dec10/cd lib/meam/
# make -f Makefile.gfortran(intall meam, you
can also choose other versions)
# cd ../src/MAKE
# vim Makefile.g++ (edit the Makefile)
***********************************Makefile.g++
beginn**********************************
(说明:红色字表示改动或添加的部分)
# g++ = RedHat Linux box, g++4, gfortran, MPICH2, FFTW
SHELL = /bin/sh
#
---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler
CC = g++
CCFLAGS = -g -O -DFFT_FFTW
-DLAMMPS_GZIP -DMPICH_IGNORE_CXX_SEEK
-I/opt/mathlib/fftw215-gnu/include
-I/opt/mpich2-gnu/include
-I../../lib/meam
DEPFLAGS = -M
LINK = g++
LINKFLAGS = -g -O
-L/opt/mathlib/fftw215-gnu/lib
-L/opt/mpich2-gnu/lib
-L../../lib/meam
LIB =
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size
#
---------------------------------------------------------------------
# LAMMPS-specific settings
# specify settings for LAMMPS features you will use
# LAMMPS ifdef options, see doc/Section_start.html
LMP_INC = -DLAMMPS_GZIP
# MPI library, can be src/STUBS dummy lib
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI library
MPI_INC = -DMPICH_SKIP_MPICXX
MPI_PATH =
MPI_LIB = -lmpich -lpthread
# FFT library, can be -DFFT_NONE if not using PPPM from KSPACE
package
# INC = -DFFT_FFTW, -DFFT_INTEL, -DFFT_NONE, etc, FFT compiler
settings
# PATH = path for FFT library
# LIB = name of FFT library
FFT_INC = -DFFT_FFTW
FFT_PATH = -I/opt/mathlib/fftw215-gnu/include
FFT_LIB = -lfftw
# additional system libraries needed by LAMMPS package
libraries
# these settings are IGNORED if the corresponding LAMMPS
package
# (e.g. gpu, meam) is NOT included in the
LAMMPS build
# SYSLIB = names of libraries
# SYSPATH = paths of libraries
gpu_SYSLIB = -lcudart
meam_SYSLIB = -lgfortran -lmeam
-lpthread
reax_SYSLIB = -lgfortran
user-atc_SYSLIB = -lblas -llapack
gpu_SYSPATH = -L/usr/local/cuda/lib64
meam_SYSPATH = -L../../lib/meam
reax_SYSPATH =
user-atc_SYSPATH =
……以下省略……
***********************************Makefile.g++
end**********************************
# make
clean-all (清除临时文件,如果你之前已经编译过lammps,需要执行此操作)
# make
yes-MEAM (告诉lammps要编译meam
package)
# make
g++
经过数十秒的字符流闪屏,如果没有出现意外,应该会在当前目录(src)下生成lmp_g++文件。
恭喜你!你已经成功安装lammps!
使用make
package-status可以查询meam是否正确安装。
Installed NO: package ASPHERE
Installed NO: package CLASS2
Installed NO: package COLLOID
Installed NO: package DIPOLE
Installed NO: package DSMC
Installed NO: package GPU
Installed NO: package GRANULAR
Installed YES: package KSPACE
Installed YES: package MANYBODY
Installed YES: package MEAM
Installed YES: package MOLECULE
Installed NO: package OPT
Installed NO: package PERI
Installed NO: package POEMS
Installed NO: package REAX
Installed NO: package REPLICA
Installed NO: package SHOCK
Installed NO: package SRD
Installed NO: package XTC
Installed NO: package USER-ACKLAND
Installed NO: package USER-ATC
Installed NO: package USER-CD-EAM
Installed NO: package USER-CG-CMM
Installed NO: package USER-EFF
Installed NO: package USER-EWALDN
Installed NO: package USER-IMD
Installed NO: package USER-REAXC
Installed NO: package USER-SMD
五. 运行lammps
为了方便运行lammps,将lammps添加到路径中。这里我通过添加ln命令实现。
# cd /usr/local/bin (这里,我默认已经将该目录添加到路径了。)
# ln -s
/usr/local/src/lammps-1Dec10/lmp_g++
然后就可以尝试运行一个例子:
cd到example/meam目录下
# lmp_g++
如果是要并行运行,可以输入:
# mpd &(开机只输入一次就行了)
# mpirun -np 4 lmp_g++
参考: