开发者
资源
CP2K 7.1 移植指南
CP2K 7.1 移植指南
发表于2023/11/15
9430

安装如下依赖:

项目

版本

下载地址

CP2K

7.1

https://github.com/cp2k/cp2k/archive/v7.1.0.tar.gz

libint

2.6.0

https://github.com/evaleev/libint/archive/v2.6.0.tar.gz

libXC

4.3.4

https://gitlab.com/libxc/libxc/-/archive/4.3.0/libxc-4.3.0.tar.gz

fftw

3.3.8

http://www.fftw.org/fftw-3.3.8.tar.gz

lapack

3.8.0

https://codeload.github.com/Reference-LAPACK/lapack/tar.gz/v3.8.0

scalapack

2.1.0

http://www.netlib.org/scalapack/scalapack-2.1.0.tgz

cmake

3.16.4

https://cmake.org/files/v3.16/cmake-3.16.4.tar.gz

gmp

6.2.0

https://gmplib.org/download/gmp/gmp-6.2.0.tar.xz

boost

1.72

https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.gz

dbcsr

2.0.1

https://github.com/cp2k/dbcsr/releases/download/v2.0.1/dbcsr-2.0.1.tar.gz

elpa

019.05.001

https://www.cp2k.org/static/downloads/elpa-2019.05.001.tar.gz

spglib

1.12.2

https://github.com/spglib/spglib/archive/v1.11.2.1.tar.gz

gsl

2.6

http://mirrors.ustc.edu.cn/gnu/gsl/gsl-2.6.tar.gz

plumed

2.5.2

https://www.cp2k.org/static/downloads/plumed-2.5.2.tgz

测试算例

H2O-256.inp

软件自带测试算例

安装cmake

tar -xvf cmake-3.16.4.tar.gz && cd cmake-3.16.4

./configure --prefix=/path/to/CMAKE

make -j16 && make install

export PATH=/path/to/CMAKE/bin:$PATH

安装gmp

tar -xvf gmp-6.2.0.tar.xz && cd gmp-6.2.0

./configure --prefix=/path/to/GMP

make -j16 && make install

安装boost

tar -xvf  boost_1_72_0.tar.gz

./bootstrap.sh

./b2 install --prefix=/path/to/BOOST

make -j16 && make install

安装libint

yum install gmp-devel.aarch64 libudev* -y

mkdir -p /path/to/EXTRA

mkdidr -p /path/to/EXTRA/mathlib

tar -xvf libint-2.6.0.tar.gz && cd libint-2.6.0 && ./autogen.sh

mkdir build && cd build

export LDFLAGS="-L/path/to/GMP/gmp-6.2/lib -L/path/to/BOOST/boost_1_72/lib"

export CPPFLAGS="-I/path/to/BOOST/boost_1_72/include/ -I/path/to/GMP/gmp-6.2/include"

../configure CXX=mpicxx --enable-eri=1 --enable-eri2=1 --enable-eri3=1 --with-max-am=4 --with-eri-max-am=4,3 --with-eri2-max-am=6,5 --with-eri3-max-am=6,5 --with-opt-am=3 --enable-generic-code --disable-unrolling --with-libint-exportdir=libint_cp2k_lmax4

make export

tar -xvf libint_cp2k_lmax4.tgz && cd libint_cp2k_lmax4

./configure --prefix=/path/to/EXTRA/libint2 CC=mpicc CXX=mpicxx FC=mpifort --enable-fortran --enable-shared

make -j32 && make install

安装fftw

tar -zxvf fftw-3.3.8.tar.gz && cd fftw-3.3.8

./configure CC=gcc F77=gfortran --enable-shared --enable-threads --enable-openmp --enable-mpi MPICC=mpicc --prefix= /path/to/EXTRA/fftw3

make -j && make install

安装lapack

tar zxvf lapack-3.8.0.tar.gz && cp make.inc.example make.inc && make -j 16

cp *.a /path/to/EXTRA/mathlib

安装scalapack

tar  -xvf scalapack-2.1.0.tgz && cd scalapack-2.1.0

cp SLmake.inc.example SLmake.inc

vi SLmake.inc

#按“i"进入编辑模式:

BLASLIB    = /path/to/LAPACK/lapack-3.8.0/librefblas.a

LAPACKLIB  = /path/to/LAPACK/lapack-3.8.0/liblapack.a

LIBS       = $(LAPACKLIB) $(BLASLIB

make -j16

cp *.a/path/to/EXTRA/mathlib

安装elpa

tar  -xvf elpa-2019.05.001.tar.gz && cd elpa-2019.05.001

./configure --prefix=/path/to/EXTRA/elpa --enable-openmp --enable-shared=no LIBS="//path/to/EXTRA/mathlib/libscalapack.a /path/to/EXTRA/mathlib/liblapack.a /path/to/EXTRA/mathlib/librefblas.a" --disable-sse --disable-sse-assembly --disable-avx --disable-avx2

make && make install

安装spglib

tar -xvf spglib-1.12.2.tar.gz && cd spglib-1.12.2

mkdir build && cd build

cmake .. -DCMAKE_INSTALL_PREFIX="/path/to/EXTRA/spglib112"

make -j16 && make install

----结束

安装libxc

tar -xvf libxc-4.3.4.tar.gz && cd libxc-4.3.4

./configure FC=gfortran CC=gcc --prefix=/path/to/EXTRA/libxc434

make && make install

安装gsl

tar -xvf gsl-2.6.tar.gz && cd gsl-2.6

./configure --prefix=/path/to/EXTRA/gsl

make && make install

export LIBRARY_PATH=/path/to/EXTRA/gsl/lib:$LIBRARY_PATH

export LD_LIBRARY_PATH=/path/to/EXTRA/gsl/lib:$LD_LIBRARY_PATH

安装plumed

tar -xvf plumed-2.5.2.tgz && cd plumed-2.5.2

./configure CXX=mpicxx CC=mpicc FC=mpifort --prefix=/path/to/EXTRA/plumed252 --enable-external-blas --enable-gsl --enable-external-lapack LDFLAGS=-L/path/to/EXTRA/mathlib LIBS="-lrefblas -llapack"

make && make install

编译和安装cp2k-7.1

wget https://github.com/cp2k/cp2k/archive/v7.1.0.tar.gz。

tar xvf cp2k-7.1.0.tar.gz && cd cp2k-7.1.0/arch

vi Linux-x86-64-gfortran.psmp

#按“i"进入编辑模式,修改文件。

GNU_PATH      = /path/to/EXTRA/

MATHLIBPATH  = /path/to/EXTRA/mathlib

include     $(GNU_PATH)/plumed252/lib/plumed/src/lib/Plumed.inc.static

ELPA_VER    = 2019.05.001

ELPA_INC    = $(GNU_PATH)/elpa/include/elpa_openmp-$(ELPA_VER)

ELPA_LIB    = $(GNU_PATH)/elpa/lib

FFTW_INC    = $(GNU_PATH)/fftw3/include

FFTW_LIB    = $(GNU_PATH)/fftw3/lib

LIBINT_INC   = $(GNU_PATH)/libint2/include

LIBINT_LIB   = $(GNU_PATH)/libint2/lib

LIBXC_INC    = $(GNU_PATH)/libxc434/include

LIBXC_LIB    = $(GNU_PATH)/libxc434/lib

SPGLIB_INC   = $(GNU_PATH)/spglib112/include

SPGLIB_LIB   = $(GNU_PATH)/spglib112/lib

CFLAGS       = -O2 -g -mtune=native

DFLAGS       = -D__ELPA -D__FFTW3 -D__LIBINT -D__LIBXC

DFLAGS       += -D__MPI_VERSION=3 -D__PLUMED2 -D__SPGLIB

DFLAGS       += -D__parallel -D__SCALAPACK

FCFLAGS      = $(CFLAGS) $(DFLAGS)

FCFLAGS      += -ffree-form -ffree-line-length-none

FCFLAGS      += -fopenmp

FCFLAGS      += -ftree-vectorize -funroll-loops -std=f2008

FCFLAGS      += -I$(ELPA_INC)/elpa -I$(ELPA_INC)/modules

FCFLAGS      += -I$(FFTW_INC) -I$(LIBINT_INC) -I$(LIBXC_INC)

LDFLAGS      = $(FCFLAGS)

LIBS        = $(PLUMED_DEPENDENCIES) -lgsl -lgslcblas -lz

LIBS        += $(ELPA_LIB)/libelpa_openmp.a

LIBS        += $(LIBXC_LIB)/libxcf03.a

LIBS        += $(LIBXC_LIB)/libxc.a

LIBS        += $(LIBINT_LIB)/libint2.a

LIBS        += $(SPGLIB_LIB)/libsymspg.a

LIBS        += $(FFTW_LIB)/libfftw3.a

LIBS        += $(FFTW_LIB)/libfftw3_threads.a

LIBS        += $(MATHLIBPATH)/libscalapack.a

LIBS       += $(MATHLIBPATH)/liblapack.a

LIBS       += $(MATHLIBPATH)/librefblas.a

LIBS       += -ldl -lpthread -lstdc++

cd /path/to/CP2K/exts/dbcsr

cp dbcsr-2.1.0-rc12.tar.gz ./

tar -xvf dbcsr-2.1.0-rc12.tar.gz

cd dbcsr-2.1.0-rc12

#执行以下命令把dbcsr-2.1.0-rc12所有文件移到上一目录dbcsr中。

mv * ../

#执行以下命令进行安装编译。

make -j16 ARCH=Linux-x86-64-gfortran VERSION=psmp

#运行和验证

export PATH=/path/to/CP2K/exe/Linux-x86-64-gfortran:$PATH

mpirun --allow-run-as-root -np 128 -x OMP_NUM_THREADS=1 cp2k.psmp H2O-256.inp > cp2k.H2O-256.inp.log

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞