1.mpich-3.4.2安装

下载MPICH 中下载mpich-3.4.2.tar.gz

将tar文件上传服务器,cd读取该文件所在路径。

1
tar -zxvf mpich-3.4.2.tar.gz 

将其解压。

cd读取解压后的文件夹。

1
./configure –prefix=/data/gpfs01/zszhang/apps/lammps-zy/mpich/(输入安装位置)

④**编译 **

1
make

安装

1
make install

2.fftw-3.3.2安装

FFTW官网 中下载fftw-3.3.2.tar.gz

将tar文件上传服务器,cd读取该文件所在路径。

1
tar -zxvf fftw-3.3.2.tar.gz

将其解压。

在Linux中安装FFTW。

总共需要两次安装

第一次安装就按下面的④配置就行

第二次安装时为了生成libfftwf.so的库文件,以f结尾的代表可以的数据类型是 float ,加上 –enable-float ,第一次安装的时候不能加这个选项,否则会出错。

配置

1
./configure --enable-type-prefix --prefix=/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2/(输入安装位置) --with-gcc --enable-shared=yes

其中,
–enable-type-prefix 参数是为了同时使用single precision(单精度)和double precision(双精度),如果不使用它,最后只有以rfftw开头的文件被安装(real fftw);

–prefix= 参数是设定安装目录;

–with-gcc 使用gcc编译器;

–enable-shared=yes 为了生成动态库.so文件 否则生成的都是.a 文件没法编译。

第一次安装

1
make 

编译。

1
make install 

这一次安装完后,在安装目录中存在以dfftw和drfftw开头文件,但没有sfftw开头的文件。

1
make clean 

还需要安装一次,先清除。

第二次配置

1
./configure --enable-float --enable-type-prefix --prefix=/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2/(输入安装位置)  --with-gcc --enable-shared=yes

其中,–enable-float 为了生成单精度计算的头文件和库文件,即以sfftw开头的文件。

第二次安装

1
make

重新编译

1
make install   

再一次安装,安装完后,目录中便会同时存在sfftw和dfftw开头的文件(用于复数函数/complex function的FFT变换)和srfftw与drfftw开头的文件(用于实数函数的FFT变换)

3.LAMMPS安装

LAMMPS官网 下载lammps-7Aug2019.tar.gz

将tar文件上传服务器,cd读取该文件所在路径。

1
tar -xvf lammps-7Aug2019.tar.gz

将其解压。

找到Makefile.mpi。

1
cd /data/gpfs01/zszhang/apps/lammps-zy/lammps-7Aug19(安装目录)/src/MAKE

打开Makefile.mpi。

1
2
3
4
5
6
7
# mpi = MPI with its default compiler

SHELL = /bin/sh

# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler

修改下方内容

1
2
3
4
5
6
7
8
9
CC =        g++ -std=c++11
CCFLAGS = -g -O3
SHFLAGS = -fPIC
DEPFLAGS = -M

LINK = g++ -std=c++11
LINKFLAGS = -g -O3
LIB =
SIZE = size

找到以下内容并修改成如下方所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

MPI_INC = -I/data/gpfs01/zszhang/apps/lammps-shi/mpich4/include -DMPICH_SKIP_MPICXX -DOMPI_SKIP_MPICXX=1
MPI_PATH = -L/data/gpfs01/zszhang/apps/lammps-shi/mpich4/lib
MPI_LIB = -lmpich -lmpi -lpthread

# FFT library
# see discussion in Section 3.5.2 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_FFTW3 -DFFT_SINGLE -I/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2/include
FFT_PATH = -L/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2/lib
FFT_LIB = -lfftw3 -lfftw3f -lm

读取安装位置。

1
cd /data/gpfs01/zszhang/apps/lammps-zy/lammps-7Aug19(安装目录)/src

安装

1
make mpi

如果安装失败,需要重新安装。
先输入

1
make clean-all

再重复⑤。

编译成功会在src中生成lmp_mpi文件。

修改系统文件

1
vi ~/.bashrc

再.bashrc后面输入

1
2
3
4
5
6
7
8
9
10
# mpich environment variable
export MPI=/data/gpfs01/zszhang/apps/lammps-shi/mpich4(mpich所在位置)
export PATH=$MPI/bin:$PATH
export LD_LIBRARY_PATH=$MPI/lib:$LD_LIBRARY_PATH
export MANPATH=$MANPATH:$MPI/share/man
export INFOPATH=$INFOPATH:$MPI/share/man
export INCLUDE=$MPI/include:$INCLUDE
# fftw environment variable
export PATH=/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2(fftw所在位置)/bin:$PATH
export LD_LIBRARY_PATH =/data/gpfs01/zszhang/apps/lammps-zy/fftw.3.3.2(fftw所在位置)/lib:$LD_LIBRARY_PATH

按Esc退出编辑。

在命令行中输入:wq,保存并退出。

输入下面代码,进行编译

1
source  ~/.bashrc 。

安装完成。