计算化学公社

标题: cp2k-8.2编译 [打印本页]

作者
Author:
Soul    时间: 2021-6-7 16:08
标题: cp2k-8.2编译
本帖最后由 Soul 于 2021-6-7 21:30 编辑

cp2k 8.2编译
cpu:amd 7452双路 内存:256g
系统:centos7.8,系统自带的gcc版本较低,官网推荐升级到9.3
编译器:gcc-9.3.0 + mpich

[size=14.0000pt]一、升级gcc:
1、使用devtools升级
安装centos-release-scl
yum install centos-release-scl
安装devtoolset
yum install devtoolset-9-gcc* (9.3.x版本编译cp2k成功率比较高)
激活 scl enable devtoolset-9 bash


[size=18.6667px]2、手动升级
下载gcc-9.3.0.tar.gz压缩包后解压缩,进入到安装包中后如下操作
./contrib/download_prerequisites,下载相关文件
make build;cd build
../configure --prefix=/xxx/xxx/soft/gcc/gcc-930 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib
make -j
make install
vi ~/.bashrc
export PATH=/xxx/xxx/soft/gcc/gcc-930/bin:$PATH
export LD_LIBRARY_PATH=/xxx/xxx/soft/gcc/gcc-930/lib64:$LD_LIBRARY_PATH

export MANPATH=/xxx/xxx/soft/gcc/gcc-930/share/man:$MANPATH
source ~/.bashrc

查看是否升级成功:gcc -v, gfortran -v

编译方法:利用toolchain编译
解压tar -xjvf cp2k-8.2.tar.bz2,cd进入到toolchain中

检查机器是否联网:ping www.baidu.com

采用mpich进行编译,此时应注释掉其他的编译器,如intelmpi、openmpi,这个方法基本不会出现问题
./install_cp2k_toolchain.sh --with-mpich=install --with-cmake=install --with-libint=install --with-ptscotch=install  --with-pexsi=install --with-superlu=install --with-quip=install --with-plumed=install --with-sirius=install --with-cosma=install

三、注意
1、可以预先下载好对应的安装包,在进行安装也可
2、虽有说intel的mkl库速度比较快,但使用了intel的mkl库往往会导致elpa或cosma无法编译成功,故直接默认的库即可,测试速度也没有多慢
3、虽然8.2有了intelmpi选项,在机器中预装intel全家桶,但cp2k还是会遇到一些增强包无法编译通过,elpa会出现寻找不到mpi的错误,有能力改脚本的小伙伴可以试试,建议还是采用openmpi或mpich编译,此外gcc8.3.1或者gcc9.3.1都可以编译通过,但是make test失败,gcc10.1中elpa无法编译成功(这里有点记不清,可能是别的增强包)
4、采用mpich编译后,mpi更换成parallel-2018-04版本的mpi,速度最快最稳定(本机器),测试对比过openmpi、mpich、intel-2017-7版本速度
5、cp2k-8.2的版本会强制安装cosma,无法关闭;此外,该版本中将popt与psmp合并,只需编译psmp即可



作者
Author:
Soul    时间: 2021-6-7 17:33
四、测试
本机器为64核心,编译版本psmp混编,故脚本中采用
export OMP_NUM_THREADS=2
mpirun -n 32  cp2k.psmp cp2k.inp 1>out 2>err &
速度最快,但是遗憾的是,仅仅和7.1版本的速度持平(7.1版本编译的为popt)

五、参考
1、sob老师CP2K第一性原理程序在CentOS中的简易安装方法 - 第一性原理 - 计算化学公社 (keinsci.com)
2、刘博超详细CP2K编译过程,GNU9.3+intel MKL+openmpi【含视频】 - 第一性原理 - 计算化学公社 (keinsci.com)
作者
Author:
highlight    时间: 2021-6-7 17:33
你确定 cosma 没导致 coredump ?
作者
Author:
Soul    时间: 2021-6-7 17:35
highlight 发表于 2021-6-7 17:33
你确定 cosma 没导致 coredump ?

测试没出现问题
作者
Author:
abin    时间: 2021-6-7 17:45
8.1版本中,
使用自带算例测试,
所有组件都安装, 确认有cosma,
测试,8分钟时长的算例,是否有cosma,耗时差异在10秒钟以内。(测试机器同时有其他负载)
作者
Author:
highlight    时间: 2021-6-7 18:23
Soul 发表于 2021-6-7 17:35
测试没出现问题

难道是依赖库的原因?
使用 mkl 情况下 cosma 和 elpa 是可以编译成功的
但不去掉 cosma,编译出的 cp2k.psmp 会 coredump
只有 8.2 出现了此问题(因为升级了 cosma )
但是 8.1 版本去掉 cosma 反而会微弱加快,当然也可能是我测试作业类型的缘故
作者
Author:
Soul    时间: 2021-6-7 21:29
highlight 发表于 2021-6-7 18:23
难道是依赖库的原因?
使用 mkl 情况下 cosma 和 elpa 是可以编译成功的
但不去掉 cosma,编译出的 cp2 ...

我使用的是默认的mkl,采用intel的mkl会使得cosma有问题,编译psmp后,需要改OMP_NUM_THREADS,速度就会和7.1版本的popt一样,8.2本身的例子测试和自己的算例测试都没有出现问题
作者
Author:
Soul    时间: 2021-6-7 21:35
highlight 发表于 2021-6-7 18:23
难道是依赖库的原因?
使用 mkl 情况下 cosma 和 elpa 是可以编译成功的
但不去掉 cosma,编译出的 cp2 ...

8.2版本没法关掉cosma,--with-cosma=no,还是会安装cosma
作者
Author:
highlight    时间: 2021-6-7 23:46
Soul 发表于 2021-6-7 21:35
8.2版本没法关掉cosma,--with-cosma=no,还是会安装cosma

可以去掉 -D__COSMA 啊
作者
Author:
highlight    时间: 2021-6-7 23:53
本帖最后由 highlight 于 2021-6-7 23:55 编辑
Soul 发表于 2021-6-7 21:29
我使用的是默认的mkl,采用intel的mkl会使得cosma有问题,编译psmp后,需要改OMP_NUM_THREADS,速度就会 ...

啥是“默认的mkl”,和“intel的mkl”有啥不同?mkl 不都是 intel 吗?
你是 AMD 的 U,所以用的 acml?
默认的设置是环境里有 MKLROOT 就会自动加载 mkl
  1. --math-mode               Selects which core math library to use. Available options
  2.                           are: acml, cray, mkl, and openblas. cray
  3.                           corresponds to cray libsci, and is the default for CRAY
  4.                           (CLE) systems. For non-CRAY systems, if env variable MKLROOT
  5.                           exists then mkl will be default, otherwise openblas is the
  6.                           default option. Explicitly setting
  7.                           --with-acml, --with-mkl or --with-openblas options will
  8.                           switch --math-mode to the respective modes.
复制代码





作者
Author:
Soul    时间: 2021-6-8 08:15
highlight 发表于 2021-6-7 23:53
啥是“默认的mkl”,和“intel的mkl”有啥不同?mkl 不都是 intel 吗?
你是 AMD 的 U,所以用的 acml? ...

哦哦,用的是openblas,没有用intel mkl
作者
Author:
djjj148    时间: 2021-6-28 09:52
安装后速度能和intel编译的7.1持平,很赞。
有个笔误:
make build;cd build
应是
mkdir build;cd build



作者
Author:
Soul    时间: 2021-6-29 08:18
djjj148 发表于 2021-6-28 09:52
安装后速度能和intel编译的7.1持平,很赞。
有个笔误:
应是

啊 谢谢更正
作者
Author:
nianbin    时间: 2021-6-29 16:21
cp2k要求4新版本的openmpi,但是orca要求314,编译之后就会出问题,而且很难注释掉,挺烦的
作者
Author:
喵星大佬    时间: 2021-6-30 09:38
nianbin 发表于 2021-6-29 16:21
cp2k要求4新版本的openmpi,但是orca要求314,编译之后就会出问题,而且很难注释掉,挺烦的

用脚本动态加载不就完了
作者
Author:
abin    时间: 2021-6-30 10:02
本帖最后由 abin 于 2021-6-30 10:04 编辑
nianbin 发表于 2021-6-29 16:21
cp2k要求4新版本的openmpi,但是orca要求314,编译之后就会出问题,而且很难注释掉,挺烦的

(, 下载次数 Times of downloads: 33) (, 下载次数 Times of downloads: 45)
(, 下载次数 Times of downloads: 45)
(, 下载次数 Times of downloads: 48)


我猜测,你的系统管理员,应该没有提供过类似如上图片的说明文档。

截图示例,我是参与过的所有的工作站、集群上都会提供的软件使用说明。

默认,仅激活系统自带的软件。
任何后续安装的软件,如果存在多个版本的可能,均不做“全局默认激活”,
仅仅提供激活脚本,或者module模块,让用户按需激活使用。

或者,应该把“激活”更改为“启用”。

某一次,被一个傻子喷过:怎么软件还要我自己负责激活,那我找你安装个鸡毛呀?
我认为这人是个傻子。  手动狗头.jpg

以上图片示例仅仅是一个参考。
如果能理解,能融会贯通,你会打开一个新天地。

比如:不在~/.bashrc以及任何全局设定中激活任何高斯版本,
但是可以:
#!/bin/bash

# run with g09d01
source /path/to/script/enable_g09d01.sh
g09 input.com

wait

# run with g16C01
source /path/to/script/enable_g16c01.sh
g16 another_input.com

wait

echo "done"

#EOF

也可以用类似的思路,在脚本中做设定。

如果你使用多个软件版本, 或者多种软件,请勿轻易在~/.bashrc中同时激活多个软件设定。
会死很惨的。

更多解决方案,请看签名。

作者
Author:
nianbin    时间: 2021-6-30 19:27
非常感谢,这个真是个非常好的思路,我是自己在自己的服务器搞得,之前一直都是加入环境变量的方式,您这种方法很好
作者
Author:
nianbin    时间: 2021-6-30 19:28
喵星大佬 发表于 2021-6-30 09:38
用脚本动态加载不就完了

是的,非常感谢
作者
Author:
biogon    时间: 2021-7-19 13:23
本帖最后由 biogon 于 2021-7-19 13:25 编辑
nianbin 发表于 2021-6-30 19:27
非常感谢,这个真是个非常好的思路,我是自己在自己的服务器搞得,之前一直都是加入环境变量的方式,您这种 ...

orca4.2用高版本的openmpi一样可以正常运行
作者
Author:
17620390766    时间: 2021-8-15 10:20
==================== Installing PT-Scotch ====================
scotch_6.0.0.tar.gz is found
Installing from scratch into /home/dz/cp2k/cp2k-8.2/tools/toolchain/install/scotch-6.0.0
ERROR: (./scripts/stage5/install_ptscotch.sh, line 52) Non-zero exit code detected.

这个是什么原因?谢谢。
作者
Author:
abin    时间: 2021-8-15 12:50
17620390766 发表于 2021-8-15 10:20
==================== Installing PT-Scotch ====================
scotch_6.0.0.tar.gz is found
Instal ...

自己搞不定,
可以换个思路。

要么GitHub下载ssmp版本。

要么使用下面的方案提供的psmp版本。
【CP2K v8.2.0 MPI并行版安装 无需root授权-哔哩哔哩】https://b23.tv/rXXbBx
作者
Author:
17620390766    时间: 2021-8-15 13:07
abin 发表于 2021-8-15 12:50
自己搞不定,
可以换个思路。

谢谢。安装完了;只是不知道用的哪个mpi和数学库了。
--------------------------------- Summary --------------------------------
Number of FAILED  tests 0
Number of WRONG   tests 0
Number of CORRECT tests 3391
Total number of   tests 3391
GREPME 0 0 3391 0 3391 X

Summary: correct: 3391 / 3391; 38min
Status: OK

--------------------------------------------------------------------------
Regtest took 2266.00 seconds.
--------------------------------------------------------------------------
Sat Aug 14 21:11:28 PDT 2021
*************************** testing ended ********************************
make: *** [Makefile:121: test] Error 2

作者
Author:
abin    时间: 2021-8-15 19:07
17620390766 发表于 2021-8-15 13:07
谢谢。安装完了;只是不知道用的哪个mpi和数学库了。
--------------------------------- Summary ----- ...

问题得到解决就好.

现在官方代码, 默认只有ssmp.
请检查exe目录确认一下.  
作者
Author:
gog    时间: 2021-8-26 11:39
本帖最后由 gog 于 2021-8-26 12:00 编辑
abin 发表于 2021-8-15 12:50
自己搞不定,
可以换个思路。

这个方法最容易实现,好像还是用的openmpi 4.1.1
作者
Author:
zhukangg    时间: 2021-10-28 00:22
您好,我在编译的时候一直出现这个错误,请问如何解决呢?
failed to download https://www.cp2k.org/static/downloads/OpenBLAS-0.3.10.tar.gz
作者
Author:
喵星大佬    时间: 2021-10-28 03:15

作者
Author:
zhukangg    时间: 2021-10-28 09:01

作者
Author:
biogon    时间: 2021-10-28 10:10
zhukangg 发表于 2021-10-28 09:01
问题解决了,谢谢。但是现在出现另一个问题:
在安装cmake的时候显示error,Non-zero exit code detected ...

在cmake里面找一下log看看问题何在
作者
Author:
望月凝香    时间: 2021-10-28 12:48
到安装ptscotch的时候失败,请问可能什么原因?或者ptscotch可以disable?
scotch_6.0.0.tar.gz: OK
Checksum of scotch_6.0.0.tar.gz Ok
Installing from scratch into /home/han/cp2k-8.2/tools/toolchain/install/scotch-6.0.0
ERROR: (./scripts/stage5/install_ptscotch.sh, line 53) Non-zero exit code detected.




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3