计算化学公社
标题: 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中
采用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
测试没出现问题
作者Author: abin 时间: 2021-6-7 17:45
8.1版本中,
使用自带算例测试,
所有组件都安装, 确认有cosma,
测试,8分钟时长的算例,是否有cosma,耗时差异在10秒钟以内。(测试机器同时有其他负载)
作者Author: highlight 时间: 2021-6-7 18:23
难道是依赖库的原因?
使用 mkl 情况下 cosma 和 elpa 是可以编译成功的
但不去掉 cosma,编译出的 cp2k.psmp 会 coredump
只有 8.2 出现了此问题(因为升级了 cosma )
但是 8.1 版本去掉 cosma 反而会微弱加快,当然也可能是我测试作业类型的缘故
作者Author: Soul 时间: 2021-6-7 21:29
我使用的是默认的mkl,采用intel的mkl会使得cosma有问题,编译psmp后,需要改OMP_NUM_THREADS,速度就会和7.1版本的popt一样,8.2本身的例子测试和自己的算例测试都没有出现问题
作者Author: Soul 时间: 2021-6-7 21:35
8.2版本没法关掉cosma,--with-cosma=no,还是会安装cosma
作者Author: highlight 时间: 2021-6-7 23:46
可以去掉 -D__COSMA 啊
作者Author: highlight 时间: 2021-6-7 23:53
本帖最后由 highlight 于 2021-6-7 23:55 编辑
啥是“默认的mkl”,和“intel的mkl”有啥不同?mkl 不都是 intel 吗?
你是 AMD 的 U,所以用的 acml?
默认的设置是环境里有 MKLROOT 就会自动加载 mkl
- --math-mode Selects which core math library to use. Available options
- are: acml, cray, mkl, and openblas. cray
- corresponds to cray libsci, and is the default for CRAY
- (CLE) systems. For non-CRAY systems, if env variable MKLROOT
- exists then mkl will be default, otherwise openblas is the
- default option. Explicitly setting
- --with-acml, --with-mkl or --with-openblas options will
- switch --math-mode to the respective modes.
复制代码
作者Author: Soul 时间: 2021-6-8 08:15
哦哦,用的是openblas,没有用intel mkl
作者Author: djjj148 时间: 2021-6-28 09:52
安装后速度能和intel编译的7.1持平,很赞。
有个笔误:
应是
作者Author: Soul 时间: 2021-6-29 08:18
啊 谢谢更正
作者Author: nianbin 时间: 2021-6-29 16:21
cp2k要求4新版本的openmpi,但是orca要求314,编译之后就会出问题,而且很难注释掉,挺烦的
作者Author: 喵星大佬 时间: 2021-6-30 09:38
用脚本动态加载不就完了
作者Author: abin 时间: 2021-6-30 10:02
本帖最后由 abin 于 2021-6-30 10:04 编辑
(, 下载次数 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
是的,非常感谢
作者Author: biogon 时间: 2021-7-19 13:23
本帖最后由 biogon 于 2021-7-19 13:25 编辑
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
自己搞不定,
可以换个思路。
要么GitHub下载ssmp版本。
要么使用下面的方案提供的psmp版本。
【CP2K v8.2.0 MPI并行版安装 无需root授权-哔哩哔哩】https://b23.tv/rXXbBx
作者Author: 17620390766 时间: 2021-8-15 13:07
谢谢。安装完了;只是不知道用的哪个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
问题得到解决就好.
现在官方代码, 默认只有ssmp.
请检查exe目录确认一下.
作者Author: gog 时间: 2021-8-26 11:39
本帖最后由 gog 于 2021-8-26 12:00 编辑
这个方法最容易实现,好像还是用的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
在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 |