计算化学公社

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

[CP2K] cp2k脚本编译所需文件

[复制链接 Copy URL]

24

帖子

0

威望

796

eV
积分
820

Level 4 (黑子)

最近尝试用cp2k7.1源码中的脚本进行编译,本人的机器处理器是AMD的,就没有使用Intel编译器,使用到的是GNU编译器编译,把相关的文件分享给大家,有编译需要的话可以下载。对编译过程需要咨询的也可以联系我。

链接:https://pan.baidu.com/s/1mz_BcmtrCMP3gvo3T8BVFw
提取码:j6bq


126

帖子

0

威望

2426

eV
积分
2552

Level 5 (御坂)

2#
发表于 Post on 2020-5-7 22:33:33 | 只看该作者 Only view this author
感谢分享

30

帖子

0

威望

277

eV
积分
307

Level 3 能力者

3#
发表于 Post on 2020-5-23 13:49:52 | 只看该作者 Only view this author
请问大佬可以简单的写一下您编译的过程吗?我用tool chain编译cp2k7.1后使用时总是出现内存错误的问题,popt的test也全部错误,想问下您是怎么编译的呢?

24

帖子

0

威望

796

eV
积分
820

Level 4 (黑子)

4#
 楼主 Author| 发表于 Post on 2020-5-24 20:31:13 | 只看该作者 Only view this author
MADAOLay 发表于 2020-5-23 13:49
请问大佬可以简单的写一下您编译的过程吗?我用tool chain编译cp2k7.1后使用时总是出现内存错误的问题,pop ...

不会吧!我的机子是8核的,内存16G,小点的算例基本没有问题。

125

帖子

0

威望

2054

eV
积分
2179

Level 5 (御坂)

5#
发表于 Post on 2020-5-25 19:41:44 | 只看该作者 Only view this author
本帖最后由 wanlichuan 于 2020-5-26 09:50 编辑


wangtaochem您好,按照您的方法,我先安装GCC和openmpi,很顺利。然后把build.zip解压后得到的所有压缩文件拷到/cp2k-7.1/tools/toolchain/build/文件夹下,接下来就是通过“install_cp2k_toolchain.sh”自动安装,但是cmake和elpa安装失败,后来手动安装这两个模块。手动安装cmake的时候,根据错误提示,发现是一些依赖库找不到,建立软链接后,手动安装成功(用which能找到cmake,查看版本号也能显示)。再次运行“install_cp2k_toolchain.sh”来自动安装,程序还要对cmake重装一遍,当然最终结果也是cmake能安装成功,elpa依然失败。

我的问题是:

1)为什么自动安装程序找不到我已经手动安装成功的cmake呢?第一遍自动安装成功的模块在第二遍自动安装过程中是能被找到的,系统会提示诸如“fftw-3.3.8 is already installed, skippingit.”。

2)您用CentOS7.6虚拟机安装过cp2k-7.1吗?是不是也很顺利?

感谢您提供的这一整套程序。


24

帖子

0

威望

796

eV
积分
820

Level 4 (黑子)

6#
 楼主 Author| 发表于 Post on 2020-5-30 23:42:12 | 只看该作者 Only view this author
wanlichuan 发表于 2020-5-25 19:41
wangtaochem您好,按照您的方法,我先安装GCC和openmpi,很顺利。然后把build.zip解压后得到的所有压缩文 ...

在开始编译之前,首先需要系统的编译满足, yum install autoconf autogen automake autotools-dev ca-certificates g++ git less libtool make nano pkg-config python python-numpy python3 unzip wget xxd zlib
用这条命令基本可以把需要的编译环境配制完成。
第一个问题,是不是没有设置安装cmake的路径。以下是我安装是输入的安装命令,如果某个程序已经安装好了,就需要设置它的安装路径,把相应的安装命令修改为系统,假如你已经在系统中安装好cmake了,那么需要将--with-cmake=install修改为--with-cmake=system
./install_cp2k_toolchain.sh --with-cmake=install  --with-openmpi=install  --with-libxc=install --with-libint=install --with-fftw=install --with-openblas=install --with-scalapack=install --with-reflapack=no --with-libxsmm=install --with-elpa=install --with-ptscotch=install --with-pexsi=install --with-parmetis=install  --with-superlu=install --with-quip=install --with-plumed=install --with-gsl=install --with-libvdwxc=install --with-spglib=install --with-hdf5=install  --with-spfft=install  -j X,其中X为并行编译使用的核数。
第二个问题,我使用centos 7.7和7.8都可以成功编译,此外,Ubuntu18.4是目前我试过的最容易编译的。

125

帖子

0

威望

2054

eV
积分
2179

Level 5 (御坂)

7#
发表于 Post on 2020-6-1 23:31:43 | 只看该作者 Only view this author
wangtaochem 发表于 2020-5-30 23:42
在开始编译之前,首先需要系统的编译满足, yum install autoconf autogen automake autotools-dev ca-ce ...

        Wangtaochem老师您好,非常感谢您细致的解答。
        昨天看了您的答复,本以为已经有如此详细的命令了,成功编译cp2k7.1不会很遥远了。但是这两天我又试了CentOS7.6,7.8, Ubuntu18.04,20.04四种虚拟机,竟然没成功一个。前三种是ELPA失败,Ubuntu20.04则是ScaLAPACK失败,总是差那么一点。ScaLAPACK安装失败的原因是“implicit declaration of function”(见附件make-scalapack.log),也不知道该如何解决。
        还有一个小问题请教,您给的这个配置编译环境的命令“yum install autoconf autogen automake autotools-dev ca-certificates g++ git less libtool make nano pkg-config python python-numpy python3 unzip wget xxd zlib”会在线安装gcc和g++编译器,比如在Ubuntu18.04中安装的是7.5.0版,在Ubuntu20.04中安装的是9.3.0版。用“sudo apt install gcc-8 g++-8”则可以安装8.4.0版,用安装包gcc-8.3.0.tar.gz则安装的是8.3.0版。当然,在编译cp2k的时候可以用指定路径的办法指定用哪一个版本参与编译。我的疑惑是,在不同版本共存的时候,哪怕都指定的是8.3.0版,编译出来的结果也不一样,有时候是这个模块出错,有时候是那个模块出错。这是什么原因呢?是不是用了yum install命令就没必要再安装gcc-8.3.0.tar.gz了?或者说,如果打算使用gcc-8.3.0.tar.gz安装包,就不要用这个命令了(把命令中的g++去掉)?我试着只用Ubuntu20.04中的9.3.0版也能编译cp2k,当然还是有一个模块失败。
        再次感谢您的耐心解答。

make-scalapack.log

14.95 KB, 下载次数 Times of downloads: 6

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
nianbin + 5

查看全部评分 View all ratings

24

帖子

0

威望

796

eV
积分
820

Level 4 (黑子)

8#
 楼主 Author| 发表于 Post on 2020-6-2 09:51:39 | 只看该作者 Only view this author
wanlichuan 发表于 2020-6-1 23:31
Wangtaochem老师您好,非常感谢您细致的解答。
        昨天看了您的答复,本以为已经有如此详 ...

安装高版本的GCC编译器,只有centos 8以下的系统才需要安装,其余的系统都不需要安装,centos 8 及以上和Ubuntu 18.4及以上的系统不需要安装高版本的GCC编译器,用系统自身带的编译器就可以,cp2k编译的时候GCC版本5以上的,都不需要安装高版本的了。对于系统编译环境要求,Ubuntu操作系统:apt-get install autoconf autogen automake autotools-dev ca-certificates g++ git less libtool make nano pkg-config python python-numpy python3 unzip wget xxd zlib1g-dev;centos 操作系统:yum install autoconf autogen automake bzip2 ca-certificates diffutils g++ git less libtool make nano pkg-config python python-numpy python3 unzip vim-common wget which zlib-devel。编译安装包,cmake出错我也遇到过,我的问题是系统磁盘大小不够引起的,ELPA出错是python版本引起的,一般来说python2可以解决。安然虚拟机我不知道和物理机之间的差别有多大,我是使用物理机编译的,都很好编译的。ScaLAPACK安装失败的原因一般是缺乏相应的库文件,只要把系统编译环境配制好了,编译是很容易的。

125

帖子

0

威望

2054

eV
积分
2179

Level 5 (御坂)

9#
发表于 Post on 2020-6-12 16:39:34 | 只看该作者 Only view this author
wangtaochem 发表于 2020-6-2 09:51
安装高版本的GCC编译器,只有centos 8以下的系统才需要安装,其余的系统都不需要安装,centos 8 及以上和 ...

       Wangtaochem老师您好,再次感谢您的详细解答。
       最近事情太多,一直没尝试新的安装方法。这两天又安装了几次,尤其是在两台不同操作系统的物理机上装了一下,发现和虚拟机效果一样,相同的步骤和相同的操作系统会产生相同的错误信息。这些错误信息比较棘手的还是ELPA。我参考(https://blog.csdn.net/zh314js/article/details/76258705)博客安装了elpa2019.05.001,openmp版本和单线程版本都装了,感觉安装成功了(因为configure时间约1分钟,make时间约5分钟,make install时间约10秒,均没有报错信息),但是用which指令没有反应,并且接下来安装cp2k时,会有下面的错误信息:
$ ./install_cp2k_toolchain.sh --with-elpa=system
ERROR: (./scripts/install_elpa.sh) ld cannot find -lelpa, please check if ELPA is installed or in system search path
ERROR: (./scripts/install_elpa.sh, line 141) Non-zero exit code detected.

问题:
1)我的elpa2019.05.001算不算安装成功了呢?下面是安装文件夹里的一些文件截图:


2)是不是要修改环境变量或增加cmake的安装路径才能让cp2k的自动安装程序找到elpa2019.05.001呢?具体应该怎么做呢?

3)您曾经提到“使用centos 7.7和7.8都可以成功编译,Ubuntu18.4是目前我试过的最容易编译的”,感觉特别诡异,为什么我尝试了这么多安装方法都难以做到不出错呢?想想看,有类似windows系统下的傻瓜版自动安装程序,并且所有模块都是下载的您的(让程序自动下载也试过不只一次),按说这个流程够透明的了,也并不复杂,为什么这么难?问题到底出在哪儿?想不通。



share子文件夹.jpg (15.25 KB, 下载次数 Times of downloads: 58)

share子文件夹.jpg

lib子文件夹.jpg (44.63 KB, 下载次数 Times of downloads: 52)

lib子文件夹.jpg

include子文件夹.jpg (20.54 KB, 下载次数 Times of downloads: 51)

include子文件夹.jpg

bin子文件夹.jpg (20.72 KB, 下载次数 Times of downloads: 70)

bin子文件夹.jpg

elpa主文件夹下的四个子文件夹.jpg (26.18 KB, 下载次数 Times of downloads: 54)

elpa主文件夹下的四个子文件夹.jpg

24

帖子

0

威望

796

eV
积分
820

Level 4 (黑子)

10#
 楼主 Author| 发表于 Post on 2020-6-12 22:33:37 | 只看该作者 Only view this author
wanlichuan 发表于 2020-6-12 16:39
Wangtaochem老师您好,再次感谢您的详细解答。
       最近事情太多,一直没尝试新的安装方法。 ...

教程里面的安装方法我之前也尝试做,虽然显示安装成功,但是设置完安装路径后,脚本命令显示elpa安装没成功,所有的操作系统里面,Ubuntu 18.4真的是最好安装的,在root权限下执行附件:./install_requirements_ubuntu.sh,就可以成功配制编译环境,然后就是指认一下相关库的安装路径就可以用脚本来进行编译了。

install_requirements_ubuntu.sh

1.05 KB, 下载次数 Times of downloads: 15

install_requirements_fedora.sh

1.45 KB, 下载次数 Times of downloads: 6

186

帖子

1

威望

4413

eV
积分
4619

Level 6 (一方通行)

11#
发表于 Post on 2020-6-13 09:16:07 | 只看该作者 Only view this author
wanlichuan 发表于 2020-6-12 16:39
Wangtaochem老师您好,再次感谢您的详细解答。
       最近事情太多,一直没尝试新的安装方法。 ...

分享点我的经验吧,以下经验皆来自 centos7.8 (Ubuntu 当然是最容易,看 install_requirements.sh 就知道脚本作者用的是 Ubuntu
1. 使用高版本编译器有个超简单的方法,不用你自己编译安装:
yum install centos-release-scl
yum install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-gcc-gfortran

要使用的时候只需要先“scl enable devtoolset-8 bash”即可。(用 8 不用 9 是因为,在某个地方看到过这句话:GNU Fortran version 8.3, 8.4, 9.2, or 9.3 are recommended, 9.1 is not recommended)
2. 这个自动安装脚本确实很“傻瓜”,但代价就是你在输出中一般看不到真正的错误信息。这时需要你自己去读报错位置对应的命令,找到编译时 log 中断的地方。无法提供这里的真正报错信息,别人也给不出有价值的参考意见的。毕竟大家的环境会有或多或少的差异。
3. 粗略来看,你这个 elpa 的报错应该是由于没有读到安装位置。建议试试 --with-elpa=手动安装位置,或暂时把它写进环境变量里。我的经验是 elpa 可以自安装,但要注意一下两点:让脚本自己安装 mpi 和保证使用的时 cmake3 版本是。后者可以看这个:https://stackoverflow.com/questions/48831131/cmake-on-linux-centos-7-how-to-force-the-system-to-use-cmake3

评分 Rate

参与人数
Participants 1
eV +4 收起 理由
Reason
wangtaochem + 4 欢迎讨论

查看全部评分 View all ratings

125

帖子

0

威望

2054

eV
积分
2179

Level 5 (御坂)

12#
发表于 Post on 2020-6-22 20:00:46 | 只看该作者 Only view this author
本帖最后由 wanlichuan 于 2020-6-23 21:12 编辑

        谢谢两位老师的指导。这个周末我又尝试了一下cp2k7.1版的安装,有进展,但总体来讲还是失败的。详情如下:
        1)首先在Ubuntu18.04.4虚拟机上尝试了在root权限下执行附件:./install_requirements_ubuntu.sh,一开始即使在root账户下也是没有权限的,通过chmod 777赋予权限后,很顺利就完成了(约3分钟,全程无警告无报错)。但是此时直接通过install_cp2k_toolchain.sh安装cp2k会有好几个模块失败,最典型的就是“report_warning 327,No MPI installation detected on your system.”,因此会有ScaLAPACK、ELPA、sirius和spfft等被忽略安装,另外gfortran也找不到。然后不得不手动安装GNU和openMPI,安装完这些后再次运行install_cp2k_toolchain.sh就只有ScaLAPACK和ELPA两个模块失败了。又尝试其他办法【如运行sudo apt-get install libscalapack-openmpi-dev,安装intel PSXA2019update1,参考(https://blog.csdn.net/zh314js/article/details/76258705)博客等,此处感谢highlight老师的建议,通过“--with-elpa=手动安装位置”终于实现了使自动安装脚本找到手动安装的ELPA】可以艰难解决这两个模块,但是make后会有错误:
            cd /home/txj/cp2k/exe/local; ln -sf cp2k.sopt cp2k_shell.sopt
            cd /home/txj/cp2k/exe/local; ln -sf cp2k.ssmp cp2k_shell.ssmp
            make: *** [Makefile:118: all] Error 2

       并且六个执行程序(pdbg、psmp、popt和sdbg、ssmp、sopt)只能产生两个(sopt和ssmp),值得欣慰的是,这两个程序可以执行运算(图):


2)highlight老师的方法我也试了,感觉下面的指令在作用上类似一步安装GNU:
            # yum install centos-release-scl (约1分钟)
            # yum install devtoolset-8-gcc devtoolset-8-gcc-c++devtoolset-8-gcc-gfortran(约1分钟)

仍然难以直接解决最棘手的ELPA的安装。我一直没搞明白怎么“让脚本自己安装 mpi“,我目前只能做到手动安装mpi和”保证使用的是 cmake3 版本”,所以就一直没能解决通过“install_cp2k_toolchain.sh”完成ELPA安装的难题。
        之所以感觉总体还是失败的,原因有二:1)我的安装过程打满了补丁,对ELPA的解决一定是不彻底的,最后没有make出所有六个执行程序大概与此有关。回想cp2k6.1的安装,一气呵成,六个执行程序完美产生,那才算成功安装吧;2)按两位老师的说法,在Ubuntu18.04上安装cp2k7.1是很容易的,我却觉得很难,一定有什么地方不对。留待以后再慢慢摸索吧。
        再次感谢wangtaochem和highlight两位老师的指导。您们的建议让我少走了不少弯路,也学到了很多。


Make后产生的两个执行程序cp2k.sopt和cp2k.ssm.jpg (95.89 KB, 下载次数 Times of downloads: 59)

Make后产生的两个执行程序cp2k.sopt和cp2k.ssm.jpg

24

帖子

0

威望

475

eV
积分
499

Level 3 能力者

13#
发表于 Post on 2020-7-10 15:30:34 | 只看该作者 Only view this author
我觉得与CPU有关,在UBUNTU18.04中,两台电脑都是重装的,一台XEON用toolchain全程无错误,另一台i9-9900K一定会在安装某一个包的过程中出现问题

39

帖子

0

威望

342

eV
积分
381

Level 3 能力者

14#
发表于 Post on 2020-7-10 23:09:34 | 只看该作者 Only view this author
MADAOLay 发表于 2020-5-23 13:49
请问大佬可以简单的写一下您编译的过程吗?我用tool chain编译cp2k7.1后使用时总是出现内存错误的问题,pop ...

以前用6.1编译好的计算,也是内存报错,用5.1就没事
I am freeman.....

125

帖子

0

威望

2054

eV
积分
2179

Level 5 (御坂)

15#
发表于 Post on 2020-7-16 10:59:57 | 只看该作者 Only view this author
ilovelr 发表于 2020-7-10 15:30
我觉得与CPU有关,在UBUNTU18.04中,两台电脑都是重装的,一台XEON用toolchain全程无错误,另一台i9-9900K ...

有可能,我这个笔记本是i5-8250U,那几台物理机也是酷睿系列。改天找个别的cpu电脑试试。

本版积分规则 Credits rule

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

GMT+8, 2025-8-14 23:05 , Processed in 0.186840 second(s), 24 queries , Gzip On.

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