编译和安装

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令解压CP2K安装包。

    tar -xvf cp2k-7.1.tar.bz2

  3. 执行以下命令进入解压后的目录。

    cd cp2k-7.1/arch

  4. 修改“Linux-x86-64-gfortran.psmp”配置文件。

    1. 打开“Linux-x86-64-gfortran.psmp”配置文件。
      vi Linux-x86-64-gfortran.psmp
    2. 按“i”进入编辑模式,修改如下粗体内容。
      #Tested with: GFortran 7.4.0, MPICH 3.3, LAPACK 3.8.0, ScaLAPACK 2.0.2, FFTW 3.3, Libint 2.6.0, Libxc 4.3.4, libxsmm 1.14, ELPA 2019.05.001, PLUMED 2.5.2, SPGLIB 1.12.2
      # Author: Matthias Krack (matthias.krack@psi.ch, PSI, December 2019)
      CC          = mpicc
      FC          = mpif90
      LD          = mpif90
      AR          = ar -r
      GNU_PATH = /path/to/install
      MATHLIBPATH = /path/to/EXTRA/mathlib
      include /path/to/install/PLUMED/lib/plumed/src/lib/Plumed.inc.static
      ELPA_INC    = $(GNU_PATH)/ELPA/include/elpa_openmp-2019.05.001
      ELPA_LIB    = $(GNU_PATH)/ELPA/lib
      FFTW_INC    = $(GNU_PATH)/FFTW/include
      FFTW_LIB    = $(GNU_PATH)/FFTW/lib
      LIBINT_INC  = $(GNU_PATH)/LIBINT/include
      LIBINT_LIB  = $(GNU_PATH)/LIBINT/lib
      LIBXC_INC   = $(GNU_PATH)/LIBXC/include
      LIBXC_LIB   = $(GNU_PATH)/LIBXC/lib
      SPGLIB_INC  = $(GNU_PATH)/SPGLIB/include
      SPGLIB_LIB  = $(GNU_PATH)/SPGLIB/lib
      PLUMED_LIB  =  $(GNU_PATH)/PLUMED/lib
      PLUMED_INC  =  $(GNU_PATH)/PLUMED/include
      GSLBLAS_LIB =  $(GNU_PATH)/GSL/lib
      GSLBLAS_INC =  $(GNU_PATH)/GSL/include
      CFLAGS      = -O1 -g -mtune=native -fno-unroll-loops -fstack-protector
      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 -fno-omit-frame-pointer
      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) -I$(GSLBLAS_INC) -I$(PLUMED_INC)
      LDFLAGS     = $(FCFLAGS) -static-flang-libs
      LIBS        = -L$(GSLBLAS_LIB) -L$(PLUMED_LIB) -lgsl -lgslcblas -lz -lplumed -lplumedKernel
      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)/libblas.a
      LIBS       += -ldl -lpthread -lstdc++
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  5. 执行以下命令进入目录cp2k-7.1中。

    cd ../

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

    export LD_LIBRARY_PATH=/path/to/PLUMED/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=/path/to/GSL/lib:$LD_LIBRARY_PATH
    make -j 16 ARCH=Linux-x86-64-gfortran VERSION=psmp