计算化学公社

 找回密码 Forget password
 注册 Register
Views: 12516|回复 Reply: 6
打印 Print 上一主题 Last thread 下一主题 Next thread

[CP2K] 求助cp2k安装,谢谢

[复制链接 Copy URL]

31

帖子

0

威望

135

eV
积分
166

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
老师你们好,想再问下,我gcc安装包是gcc-8.3.0.tar.gz,然后我的gcc编译器是8.3.1版本,会有影响吗?

然后toolchain编译老是出错哦

gcc-8.3.0.tar.gz is found
Installing GCC from scratch into /opt/cp2k/cp2k-7.1/tools/toolchain/install/gcc-8.3.0
ERROR: (./scripts/install_gcc.sh, line 56) Non-zero exit code detected.

而且在build/gcc-8.3.0文件夹找不到它报错的log文件。求指导

20

帖子

1

威望

510

eV
积分
550

Level 4 (黑子)

7#
发表于 Post on 2021-5-10 15:50:03 | 只看该作者 Only view this author
这是我编译的。你是不是环境变量没设置好。

20

帖子

1

威望

510

eV
积分
550

Level 4 (黑子)

6#
发表于 Post on 2021-5-10 15:48:30 | 只看该作者 Only view this author
24.2.3 查看安装文档
官网https://www.cp2k.org/howto:compile中介绍了编译所需要的数学库和MPI等要求。https://www.cp2k.org/dev:compiler_support列出了编译的要求。
安装必备组件的最便捷方法是使用~/tools/toolchain/的install_cp2k_toolchain.sh脚本工具。先来查看install_cp2k_toolchain.sh的帮助文件,可以查看安装参数及其说明。https://github.com/cp2k/cp2k/blo ... README_FOR_USERS.md也说明了toolchain的配置方法。
cd tools/toolchain/
./install_cp2k_toolchain.sh --help
如果机器能联网,可以使用toolchain方式自动配置。
cd tools/toolchain/
./install_cp2k_toolchain.sh
自动配置后,会在cp2k-6.1.0/tools/toolchain/install/目录下生成配置的各个软件包,如fftw,lapack、libint等。除此之外,还会生成arch文件夹,arch文件夹包含中local.pdbg、local.popt、local.psmp、local.sdbg、local.sopt、local.ssmp、local_warn.psm和-.s文件,将这些文件全部拷贝至cp2k-6.1.0/arch文件中。
cd /public/home/jinnzh/cp2k-6.1.0/arch
cp ../tools/toolchain/install/arch/* ./
然后在cp2k-6.1.0/makefiles文件夹,执行命令如下:
make -j4 ARCH=local VERSION="sopt sdbg ssmp popt pdbg psmp"
系统开始编译,编译完成,会生成相关可执行文件和库文件。
除了自动构建之外,CP2K也提供了预先构建好的arch文件,在cp2k-6.1.0/arch文件夹下面,用户可以对其修改以适应自己的编译环境。
根据官网说明,CP2K的arch文件有6个类型:
Acronym        Meaning        Recommended for
sdbg        serial        single core testing and debugging
sopt        serial        general single core usage
ssmp        parallel (only OpenMP)        optimized, single node, multi core
pdbg        parallel (only MPI)        multi-node testing and debugging
popt        parallel (only MPI)        general usage, no threads
psmp        parallel (MPI + OpenMP)        general usage, threading might improve scalability and memory usage

本次编译采用gcc和gfortran编译器,MPI采用OpenMPI 3.1.4,FFTW采用FFTW3,CP2K官网推荐使用ACML和MKL数学库,我们编译时数学库采用MKL,编译popt类型,即支持MPI的并行版本。MPI、MKL和FFTW3具体编译安装过程参照本书前面章节。
此外,可以选择安装libint库,libint数学库是用来计算双电子积分的,如基于Gaussian型基组的确切交换积分计算。它是cp2k的QS模块支持杂化泛函的关键。还可以安装libxsmm、libxc库。这些库都可以从官网介绍的https://www.cp2k.org/static/downloads/下载。先来编译安装libint、libxsmm、libxc库。
24.2.4 编译安装libint库
24.2.4.1 下载libint
可以访问https://www.cp2k.org/static/downloads/,下载llibint-1.1.6.tar.gz版本。
24.2.4.2 编译安装
cd libint-1.1.6
1.查看配置参数
./configure -help
2.configure配置
./configure  --prefix=/public/home/jinnzh/sourcecode/libint1.1.6   CC=gcc CXX=g++ --enable-deriv
configure其他参数很多,需要的时候自行添加。
3.执行make
make
make install
编译完成。
在/public/home/jinnzh/sourcecode/libint1.1.6/lib生成一些库文件libderiv.a、libint.a和libr12.a,在/public/home/jinnzh/sourcecode/libint1.1.6/include生成头文件。
24.2.5 编译安装libxsmm库
24.2.5.1 下载libxsmm
可以访问https://www.cp2k.org/static/downloads/,下载libxsmm-1.9.0.tar.gz版本。
24.2.5.2 编译安装
cd libxsmm-1.9.0
make CXX=g++ CC=gcc FC=gfortran STATIC=0
编译完成,在/public/home/jinnzh/sourcecode/libxsmm-1.9.0/lib生成库文件,在/public/home/jinnzh/sourcecode/libxsmm-1.9.0/include生成头文件。
24.2.6 编译安装libxc库
24.2.6.1 下载libxc
可以访问https://www.cp2k.org/static/downloads/,下载libxc-4.2.3.tar.gz版本。
24.2.6.2 编译安装
cd libxc-4.2.3/
1.查看配置帮助
./configure --help
2.configure配置
./configure --prefix=/public/home/jinnzh/sourcecode/libxc4.2.3 CC=gcc FC=gfortran
3.执行make
make -j
make install
编译完成,在/public/home/jinnzh/sourcecode/libxc4.2.3/lib下生成libxc.a libxcf03.a、libxcf03.la、libxcf90.a、libxcf90.la、libxc.la等库文件,/public/home/jinnzh/sourcecode/libxc4.2.3/include下生成头文件。
24.2.7 声明OpenMPI环境变量
export PATH=/public/home/jinnzh/openmpi3.1/bin:$PATH
export INCLUDE=/public/home/jinnzh/openmpi3.1/include:$INCLUDE
export LD_LIBRARY_PATH=/public/home/jinnzh/openmpi3.1/lib:$LD_LIBRARY_PATH
export LIBRARY_PATH=/public/home/jinnzh/openmpi3.1/lib:$LIBRARY_PATH
export MANPATH=$MANPATH:/public/home/jinnzh/openmpi3.1/share/man
24.2.8 声明FFTW环境变量
export PATH=$PATH:/public/home/jinnzh/fftw3/openmpigcc-float/bin
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/public/home/jinnzh/fftw3/openmpigcc-float/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/home/jinnzh/fftw3/openmpigcc-float/lib
export PATH=$PATH:/public/home/jinnzh/fftw3/openmpigcc-double/bin
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/public/home/jinnzh/fftw3/openmpigcc-double/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/public/home/jinnzh/fftw3/openmpigcc-double/lib
24.3 编译安装
24.3.1 声明MKL环境变量
export PATH=/public/home/jinnzh/intel/mkl/bin:$PATH
export LD_LIBRARY_PATH=/public/home/jinnzh/intel/mkl/lib/intel64:$LD_LIBRARY_TATH
export INCLUDE=/public/home/jinnzh/intel/mkl/include:$INCLUDE
24.3.2 修改配置参数
假定机器不能连接互联网,手动完成配置参数。
cd cp2k-6.1.0/arch
选取适合的arch文件,本次选用Linux-x86-64-gfortran_mkl_elpa.popt文件,即支持MPI的并行版本。
vi Linux-x86-64-gfortran_mkl_elpa.popt
将原来代码
#
#
ELPA_LIB = /users/archive/marcella/DEV/ELPA/20131105/elpa_lib/ELPA_2013.08/build_generic/lib64
ELPA_INC = /users/archive/marcella/DEV/ELPA/20131105/elpa_lib/ELPA_2013.08/build_generic/include/elpa
#
CC       = cc
CPP      =
FC       = mpif90
LD       = mpif90
AR       = ar -r
CPPFLAGS =
DFLAGS   = -D__parallel -D__SCALAPACK -D__LIBINT -D__LIBXC2 -D__FFTW3  -D__ELPA=201308
FCFLAGS  = -O3 -ffast-math -funroll-loops -ftree-vectorize -march=native -ffree-form  $(DFLAGS)  -g -I${FFTW3_PATH}/include -I${ELPA_INC}/modules -I${ELPA_INC}/elpa
LDFLAGS  = $(FCFLAGS) -L$(LIBINT_PATH)  -L${FFTW3_PATH}/lib64  -L$(INTEL_MKL_LIB) -L$(LIBXC_PATH)/lib64
LIBS     =  \
  -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 -lmkl_gf_lp64  -lmkl_sequential -lmkl_core \
  -lderiv -lint -lfftw3 -lxc -L$(ELPA_LIB) -lelpa
根据实际配置,修改如下几点:
1.没有安装ELPA,所以将ELPA_LIB和ELPA_INC注释掉,并将关于ELPA的设置删除。
2.添加libint的路径LIBINT_PATH,并在FCFLAGS和LDFLAGS添加libint的设置。
3.添加libxc和libxsmm的路径LIBXC_LIB、LIBXC_INC、LIBXSMM_INC、LIBXSMM_LIB,并在FCFLAGS、LDFLAGS和LIB添加libxc、libxsmm的设置。
4.添加fftw3的路径FFTW3_PATH,添加mkl的路径INTEL_MKL_LIB。
    修改后的内容如下:
#
#
#ELPA_LIB = /users/archive/marcella/DEV/ELPA/20131105/elpa_lib/ELPA_2013.08/build_generic/lib64
#ELPA_INC = /users/archive/marcella/DEV/ELPA/20131105/elpa_lib/ELPA_2013.08/build_generic/include/elpa
#
CC       = gcc
CPP      =
FC       = mpif90
LD       = mpif90
AR       = ar -r
LIBINT_PATH=/public/home/jinnzh/sourcecode/libint1.1.6
LIBXC_INC=/public/home/jinnzh/sourcecode/libxc4.2.3/include
LIBXC_LIB=/public/home/jinnzh/sourcecode/libxc4.2.3/lib
LIBXSMM_INC=/public/home/jinnzh/sourcecode/libxsmm-1.9.0/include
LIBXSMM_LIB=/public/home/jinnzh/sourcecode/libxsmm-1.9.0/lib
FFTW3_PATH=/public/home/jinnzh/fftw3/openmpigcc-double
INTEL_MKL_LIB=/public/home/jinnzh/intel/mkl/lib/intel64
CPPFLAGS =
DFLAGS   = -D__parallel -D__SCALAPACK -D__LIBINT  -D__FFTW3  -D__LIBXC -D__LIBXSMM
FCFLAGS  = -O3 -ffast-math -funroll-loops -ftree-vectorize -march=native -ffree-form  $(DFLAGS)  -g -I${FFTW3_PATH}/include  -I$(LIBINT_PATH)/include -I$(LIBXC_INC) -I$(LIBXSMM_INC)
LDFLAGS  = $(FCFLAGS) -L$(LIBINT_PATH)/lib  -L${FFTW3_PATH}/lib  -L$(INTEL_MKL_LIB) -L$(LIBXC_LIB) -L$(LIBXSMM_LIB)
LIBS     = -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 -lmkl_gf_lp64  -lmkl_sequential -lmkl_core  -lfftw3\
  $(LIBINT_PATH)/lib/libderiv.a\
  $(LIBINT_PATH)/lib/libint.a\
  $(LIBXC_LIB)/libxcf03.a\
  $(LIBXC_LIB)/libxc.a\
  $(LIBXSMM_LIB)/libxsmmf.a\
  $(LIBXSMM_LIB)/libxsmm.a\
  -ldl

    保存,退出。
24.3.3 执行make
cd /public/home/jinnzh/sourcecode/cp2k-6.1.0/makefiles
执行以下命令:
make -j 14  ARCH=Linux-x86-64-gfortran_mkl_elpa VERSION=popt
make -j 14代表用14个核编译。
编译完成,在/public/home/jinnzh/sourcecode/cp2k-6.1.0下生成exe文件夹,根据编译配置不同,exe文件夹下面生成不同的文件夹,本次编译会生成Linux-x86-64-gfortran_mkl_elpa文件夹,所有编译生成的可执行文件在其中。在/public/home/jinnzh/sourcecode/cp2k-6.1.0下生成lib/Linux-x86-64-gfortran_mkl_elpa/popt文件夹,生成的库文件在其中。
编译失败重新编译之前,执行以下命令。
若保留exe文件,执行:
make ARCH=Linux-x86-64-gfortran_mkl_elpa VERSION=popt clean
清除所有文件:
make ARCH=Linux-x86-64-gfortran_mkl_elpa VERSION=popt realclean

24.3.4 构建CP2K库文件
CP2K还可以构建为一个库文件,执行命令如下:
make -j 14  ARCH=Linux-x86-64-gfortran_mkl_elpa VERSION=popt libcp2k
编译完成后,在~cp2k-6.1.0/lib/Linux-x86-64-gfortran_mkl_elpa/popt文件夹中会生成库文件libcp2k.a。
24.4 测试
cd /public/home/jinnzh/sourcecode/cp2k-6.1.0/makefiles
执行以下命令:
make -j 14  ARCH=Linux-x86-64-gfortran_mkl_elpa VERSION=popt test
测试结束,显示:
<<< /public/home/jinnzh/sourcecode/cp2k-6.1.0/regtesting/Linux-x86-64-gfortran_mkl_elpa/popt/TEST-Lit-15 (142 of 221) done in 201.00 sec
--------------------------------------------------------------------------
--------------------------------------------------------------------------
regtesting location summary file: /public/home/jinnzh/sourcecode/cp2k-6.1.0/regtesting/Linux-x86-642-24_13-42-37/summary.txt
regtesting location error_summary file: /public/home/jinnzh/sourcecode/cp2k-6.1.0/regtesting/Linux-2019-12-24_13-42-37/error_summary
regtesting location memory_summary file: /public/home/jinnzh/sourcecode/cp2k-6.1.0/regtesting/Linux-2019-12-24_13-42-37/memory_summary
regtesting location output dir: /public/home/jinnzh/sourcecode/cp2k-6.1.0/regtesting/Linux-x86-64-g24_13-42-37
regtesting location last dir: /public/home/jinnzh/sourcecode/cp2k-6.1.0/regtesting/Linux-x86-64-gfo
--------------------------------- Summary --------------------------------
Number of FAILED  tests 0
Number of WRONG   tests 0
Number of CORRECT tests 3047
Number of NEW     tests 19
Total number of   tests 3066
GREPME 0 0 3047 19 3066 X
--------------------------------------------------------------------------

说明测试通过。
24.5 配置环境变量
将cp2k可执行文件和库文件分别添加至系统环境变量PATH和LD_LIBRARY_PATH。
vi .bashrc
添加以下语句:
export PATH=/public/home/jinnzh/sourcecode/cp2k-6.1.0/exe/Linux-x86-64-gfortran_mkl_elpa:$PATH
export LD_LIBRARY_PATH=/public/home/jinnzh/sourcecode/cp2k-6.1.0/lib/Linux-x86-64-gfortran_mkl_elpa/popt$LD_LIBRARY_PATH
export LIBRARY_PATH=/public/home/jinnzh/sourcecode/cp2k-6.1.0/lib/Linux-x86-64-gfortran_mkl_elpa/popt:$LIBRARY_PATH
保存退出,然后source .bashrc,配置完毕。

147

帖子

0

威望

1592

eV
积分
1739

Level 5 (御坂)

5#
发表于 Post on 2021-5-10 15:41:32 | 只看该作者 Only view this author
jinnengzhi 发表于 2021-5-10 15:07
首先要安装gcc 8.3,然后环境变量指定编译器为gcc 8.3,再试试。

我现在没办法安装8.3了,每次安装好就是8.3.1
一蓑烟雨任平生

20

帖子

1

威望

510

eV
积分
550

Level 4 (黑子)

4#
发表于 Post on 2021-5-10 15:07:22 | 只看该作者 Only view this author
首先要安装gcc 8.3,然后环境变量指定编译器为gcc 8.3,再试试。

2425

帖子

1

威望

6196

eV
积分
8641

Level 6 (一方通行)

3#
发表于 Post on 2021-4-30 09:04:11 | 只看该作者 Only view this author
大概可以使用--with-gcc=system
用系统自带的就可以了。

如果你追求计算速度,
可以采用intel全套来编译。

我有采用intel编译器针对AVX512指令集优化编译的版本,
如有需要,可以联系我。

联系方式看签名。
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
https://labitc.top
http://tophpc.top:8080
电邮: ask@hpc4you.top

6万

帖子

99

威望

6万

eV
积分
125126

管理员

公社社长

2#
发表于 Post on 2021-4-29 22:00:04 | 只看该作者 Only view this author
说清楚什么操作系统,CentOS下直接yum/dnf安装就完了,根本不牵扯什么gcc安装包的事
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-18 07:19 , Processed in 0.158668 second(s), 21 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list