基于CPU部署LAMMPS

LAMMPS 即 Large-scale Atomic/Molecular Massively Parallel Simulator,大规模原子分子并行模拟器,主要用于分子动力学相关的一些计算和模拟工作。
系统: Centos7.6 x86_64
编译器:GCC-9.3

1、安装OpenMPI

# yum install -y gcc gcc-c++ gcc-gfortran
# wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.4.tar.bz2
# tar jxvf openmpi-4.0.4.tar.bz2
# cd openmpi-4.0.4
# mkdir build && cd build
# ../configure --prefix=/usr/local/openmpi-4.0.4 CC=gcc CXX=g++ FC=gfortran F77=gfortran
# make -j
# make install

 

配置OpenMPI环境变量

# vim ~/.bashrc
export PATH=/usr/local/openmpi-4.0.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openmpi-4.0.4/lib:$LD_LIBRARY_PATH
export MANPATH=/usr/local/openmpi-4.0.4/share/man:$MANPATH

 

 

2、安装FFTW

# wget ftp://ftp.fftw.org/pub/fftw/fftw-3.3.8.tar.gz
# tar zxvf fftw-3.3.8.tar.gz
# cd fftw-3.3.8
# mkdir build && cd build
# ../configure --prefix=/usr/local/fftw --enable-mpi --enable-openmp --enable-shared --enable-static
# make -j
# make install
# vim ~/.bashrc
export PATH=/usr/local/fftw/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/fftw/lib:$LD_LIBRARY_PATH

 


3、安装LAMMPS

# yum install libjpeg-devel libpng-devel
# wget https://lammps.sandia.gov/tars/lammps-3Mar20.tar.gz
# wget https://github.com/lammps/lammps/archive/stable_3Mar2020.tar.gz
# tar zxvf lammps-3Mar20.tar.gz
# cd lammps-3Mar20/src
# vim MAKE/Makefile.mpi

配置MPI路径

CC = mpicxx
CCFLAGS = -g -O3 -fopenmp
SHFLAGS = -fPIC
DEPFLAGS = -M
LINK = mpicxx
LINKFLAGS = -g -O3 -fopenmp
MPI_INC = -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1
MPI_PATH =
MPI_LIB = 
LMP_INC = -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64
#LMP_INC = or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL
FFT_INC = -DFFT_FFTW3 -I/usr/local/fftw/include
FFT_PATH = -L/usr/local/fftw/lib
FFT_LIB = -lfftw3

 

安装模块

# make yes-MANYBODY

 

编译LAMMPS

# make -j mpi
# mkdir -p /usr/local/lammps/bin
# cp lmp_mpi /usr/local/lammps/bin/
# vim ~/.bash.rc
export PATH=/usr/local/lammps/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lammps/lib:$LD_LIBRARY_PATH

 

4、并行测试案例

# cd ../examples/shear
# mpirun --allow-run-as-root -np 8 --hostfile hostlist lmp_mpi < in.shear

 

 

 

基于CPU部署LAMMPS

上一篇:Jmeter中将变量组合后生成另一个变量


下一篇:iOS - Swift PList 数据存储