搭建高性能计算环境(六)、应用软件的安装之lammps

时间:2021-03-03 06:40:25

1,上传需要的软件包lammps-stable.tar.gz。

2,解压缩并进入安装目录

tar xvf lammps-stable.tar.gz
cd lammps-30Oct14

3,如果需要reax、poems等模块,可以进入lib额外添加(标准安装可跳过此步骤)。

cd lib/reax
修改Makefile.ifort文件第31行为: F90FLAGS = -O3 -xHost -ip -no-prec-div -fPIC
make -f Makefile.ifort
cd ../meam
修改Makefile.ifort文件第30行为: F90FLAGS = -O3 -xHost -ip -no-prec-div –fPIC
修改Makefile.lammps.ifort文件第4行: meam_SYSLIB = -lifcore -lsvml -liompstubs5 -limf
修改Makefile.lammps.ifort文件第5行: meam_SYSPATH = -L/opt/intel/mkl/lib/intel64/
make -f Makefile.ifort
cd ../poems
修改Makefile.ifort文件第71行为: CCFLAGS = -O3 -xHost -ip -no-prec-div -fPIC
make -f Makefile.icc
cd ../../src
make yes-reax
make yes-meam
make yes-poems 也可添加kspace、misc等模块
make yes-kspace
make yes-misc

4,编译fftw2xc

cd /opt/intel/mkl/interfaces/fftw2xc
make libintel64

5,修改src/MAKE/Makefile.mpi

# mpi = default MPI compiler, default MPI

SHELL = /bin/sh

# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler CC = mpicxx
CCFLAGS = -O3 -xHost -fno-alias -ip -no-prec-div -unroll0
SHFLAGS = -fPIC
DEPFLAGS = -M LINK = mpicxx
LINKFLAGS = -O -L/opt/intel/mkl/lib/intel64/
LIB = -lstdc++ -lmkl_core -lmkl_sequential -lmkl_intel_lp64
SIZE = size ARCHIVE = ar
ARFLAGS = -rc
SHLIBFLAGS = -shared # ---------------------------------------------------------------------
# LAMMPS-specific settings, all OPTIONAL
# specify settings for LAMMPS features you will use
# if you change any -D setting, do full re-compile after "make clean" # LAMMPS ifdef settings
# see possible settings in Section 2.2 (step 4) of manual LMP_INC = -DLAMMPS_GZIP # MPI library
# see discussion in Section 2.2 (step 5) of manual
# MPI wrapper compiler/linker can provide this info
# can point to dummy MPI library in src/STUBS as in Makefile.serial
# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI library MPI_INC =
MPI_PATH =
MPI_LIB = # FFT library
# see discussion in Section 2.2 (step 6) of manual
# can be left blank to use provided KISS FFT library
# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT library FFT_INC = -DFFT_MKL -I/opt/intel/mkl/include/fftw
FFT_PATH =
FFT_LIB = /opt/intel/mkl/lib/intel64/libfftw2xc_double_intel.a # JPEG and/or PNG library
# see discussion in Section 2.2 (step 7) of manual
# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC
# INC = path(s) for jpeglib.h and/or png.h
# PATH = path(s) for JPEG library and/or PNG library
# LIB = name(s) of JPEG library and/or PNG library JPG_INC =
JPG_PATH =
JPG_LIB = # ---------------------------------------------------------------------
# build rules and dependencies
# do not edit this section include Makefile.package.settings
include Makefile.package EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC)
EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH)
EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB) # Path to src files vpath %.cpp ..
vpath %.h .. # Link target $(EXE): $(OBJ)
$(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE)
$(SIZE) $(EXE) # Library targets lib: $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ) shlib: $(OBJ)
$(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \
$(OBJ) $(EXTRA_LIB) $(LIB) # Compilation rules %.o:%.cpp
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< %.d:%.cpp
$(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@ %.o:%.cu
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $< # Individual dependencies DEPENDS = $(OBJ:.o=.d)
sinclude $(DEPENDS)

6,编译

make mpi -j4

7,设置环境变量,需要重新登陆后生效。

在/etc/profile文件末尾添加如下行:

export PATH=/opt/lammps-30Oct14/src:$PATH

8,测试

 cd /opt/lammps-20Oct14/bench
mpirun -np lmp_mpi <in.eam

正常运行结束,说明安装成功。

lammps下载地址:

http://lammps.sandia.gov/tars/lammps-stable.tar.gz