计算化学公社

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

[CP2K] 基于官方docker的CP2K 10.0版本安装演示

[复制链接 Copy URL]

96

帖子

2

威望

1672

eV
积分
1808

Level 5 (御坂)

本帖最后由 Acee 于 2023-3-4 16:16 编辑

基于docker的CP2K安装演示(官方教程搬运)


1. 前言



学生最近在学习周期性晶体分子的计算,通过本论坛和其他渠道了解到第一性原理的开源软件cp2k在计算这类体系上比较适用。同时也了解到cp2k安装难的问题。

庆幸的是官方发布了基于docker的CP2K安装方法(此安装方法也适用于以前的cp2k版本,例如v9.1)故在此转发一下。具体流程如下文所示:
“划重点:网上有很多其他的号称简易安装的方法,请大家一定擦亮双眼!!!本教程搬运至官方,一步一步来,绝对是最简单,最方便的,完全免费的方法(引用官方的话:The easiest way to build CP2K with all of its dependencies as a Docker container)。”当前安装的是psmp版本:MPI+OpenMP混合并行,可以单机并行也可以跨节点并行(sob老师的博文中有具体介绍:http://sobereva.com/586




2. 安装方法

2.1. docker安装



官方给的docker安装教程为:
  1. https://docs.docker.com/get-docker/
复制代码
docker的安装过程也可以参照菜鸟教程中给的方法链接如下:
  1. https://www.runoob.com/docker/ubuntu-docker-install.html
复制代码
docker安装完成过后,离cp2k的使用又近一步了!!


2.2. 基于官方教程的安装复现


2.2.1. 进入github页面
上一节在linux系统上安装了docker,现在我们来到用docker安装cp2k的github页面。
  1. https://github.com/cp2k/cp2k/tree/master/tools/docker
复制代码
在这里可以看到cp2k/tools/docker目录下面的Dockerfile(可以看到官方6天前上传的Dockerfile.prod.psmp文件)和对应的官方给的输入命令。
先下载cp2k到本地文件夹
2.2.2. 下载cp2k源代码到本地
  1. git clone --recursive https://github.com/cp2k/cp2k.git cp2k #下载最新版本的cp2k
复制代码
  1. git clone --recursive -b support/vx.y https://github.com/cp2k/cp2k.git cp2k #下载指定版本的cp2k, versionx.y,例如v9.1就是9.1版本
复制代码
运行完如上代码后,我们就可以看到当前文件夹下,有了cp2k的源代码。大概200多MB。
然后进入cp2k/tools/docker
2.2.3. 进入docker文件夹
  1. cd cp2k/tools/docker
复制代码
2.2.4. 安装cp2k
然后依次运行如下命令:
  1. docker build -f Dockerfile.prod_psmp --build-arg GIT_COMMIT_SHA=$(git rev-parse HEAD) -t cp2k_prod_psmp ../../
复制代码
这一步会等很长时间,我这边大概是等了1~2个小时。
2.2.5. 测试
  1. cd ../../benchmarks/QS_single_node
复制代码
进入benchmarks下的QS单节点文件夹中
  1. docker run --shm-size=1g -ti -v "$(pwd)":/mnt cp2k_prod_psmp mpiexec -genv OMP_NUM_THREADS=1 -np 16 cp2k dbcsr.inp
复制代码
通过docker run 运行dbcsr.inp成功,并计算结束后会有如下内容打印出来:



"The number of warnings for this run is : 0"



然后我测试了一个自己的任务,基于DZVP-MOLOPT-SR-GTH基组,使用GTH-PBE赝势对二硫化钨周期性晶体的XY方向进行单点能计算
  1. docker run --shm-size=1g -ti -v "$(pwd)":/mnt cp2k_prod_psmp mpiexec -genv OMP_NUM_THREADS=1 -np 16 cp2k WS2.inp 1>WS2.out 2>WS2.err
复制代码
一分钟不到就计算结束,同时可以通过top看见cp2k运行时的进程数目。可以用Multiwfn进行波函数分析啦,此处注意生成的molden文件,要把其中的核电子数改为价电子数。也就是核电子数减去被赝势赝掉的电子数目。

2.3. 测试结果

如test_results图所示,16个线程,17分钟测试完毕

3. 总结


学生是用cp2k做第一性原理计算的新手,以上内容有不足之处,还望各位老师不吝指点。



test_results.png (357.03 KB, 下载次数 Times of downloads: 45)

官方测试例子的测试结果,16个线程,17min,全部通过

官方测试例子的测试结果,16个线程,17min,全部通过

评分 Rate

参与人数
Participants 8
威望 +1 eV +20 收起 理由
Reason
muuu2333 + 5 GJ!
ghifi37 + 2
hebrewsnabla + 3
艾刈虎 + 2 有心了。
w695751436 + 5 谢谢
freemangran + 1 精品内容
sobereva + 1
bjut-wjj + 2 赞!

查看全部评分 View all ratings

分子模拟玩家

176

帖子

0

威望

2017

eV
积分
2193

Level 5 (御坂)

来自 26#
发表于 Post on 2022-9-21 14:05:13 | 只看该作者 Only view this author
注意现在安装包自带的spglib现在出现问题了,导致无法下载安装出错,需要按照下面的方式,把toolchain中对应的脚本修改一下,具体如下:
https://github.com/cp2k/cp2k/pul ... 0560685ed42d54066aa

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
Acee + 3 赞!

查看全部评分 View all ratings

117

帖子

0

威望

1953

eV
积分
2070

Level 5 (御坂)

25#
发表于 Post on 2022-7-27 10:23:34 | 只看该作者 Only view this author
本帖最后由 wanlichuan 于 2022-8-1 18:38 编辑

请教大佬,在Ubuntu20.04虚拟机上按照楼主的步骤安装,显示安装成功了:
------------------------------- Summary--------------------------------
Number of FAILED  tests 0
Number of WRONG   tests 0
Number of CORRECT tests 3806
Total number of   tests 3806

Summary: correct: 3806 / 3806; 162min
Status: OK
……  ……
Successfully built 1166e52fb4fa
Successfully tagged cp2k_prod_psmp:latest


但是在运行任务时,出现了下面的错误:
root@ubuntu:/home/cp2k10.0/benchmarks/QS_single_node#docker run --shm-size=1g -ti -v "$(pwd)":/mnt cp2k_prod_psmp mpiexec-genv OMP_NUM_THREADS=1 -np 2 cp2k dbcsr.inp

  ******** ******  **  PROGRAM STARTED AT               2022-07-29 01:42:00.884
******* ***  *** **   PROGRAM STARTED ON                          38a900c1646c
**   ****   ******    PROGRAM STARTED BY                             <unknown>
*******    ** ** **   PROGRAM PROCESS ID                                   398
  ******  *******  ** PROGRAM STARTED IN                                  /mnt
CP2K| version string:                 CP2K version 2022.1(Development Version)
CP2K|source code revision number:                                         git:
CP2K|cp2kflags: omp libint fftw3 libxc pexsi elpa parallel mpi3 scalapack cosm
CP2K|            a quip xsmm plumed2 spglib siriuslibvori libbqb
CP2K|is freely available from                           https://www.cp2k.org/
CP2K|Program compiled at                         Thu Jul 28 10:46:55 UTC 2022
CP2K|Program compiled on                                         2e08f5a880fd
CP2K|Program compiled for                                               local
CP2K|Data directory path                                       /opt/cp2k/data
CP2K|Input file name                                                dbcsr.inp

GLOBAL| Method name                                                       TEST
GLOBAL| Project name                                                    PROJECT
GLOBAL| Run type                                                          NONE
GLOBAL| FFT library                                                      FFTW3
GLOBAL| Diagonalization library                                            ELPA
GLOBAL| Minimum number of eigenvectors forELPA usage                        16
GLOBAL| Orthonormality check foreigenvectors                         DISABLED
GLOBAL| Matrix multiplication library                                     COSMA
GLOBAL| All-to-all communication in singleprecision                          F
GLOBAL| FFTs using library dependentlengths                                 F
GLOBAL| Grid backend                                                       AUTO
GLOBAL| Global print level                                              MEDIUM
GLOBAL| MPI I/O enabled                                                      T
GLOBAL| Total number of message passingprocesses                             2
GLOBAL| Number of threads for thisprocess                                   1
GLOBAL| This output is from process                                           0
GLOBAL| Stack size for threads created byOpenMP (OMP_STACKSIZE)        default
GLOBAL| CPU model name                 Intel(R) Core(TM) i5-8250U CPU@ 1.60GHz
GLOBAL| CPUID                                                             1002

……  ……
*******************************************************************************
*                             PERFORMANCETESTS                               *
*******************************************************************************
Testing with sizes  13800 13800  13800 min/max blocksizes    23    23 transposed? F T

===================================================================================
=  BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=  PID 399 RUNNING AT 38a900c1646c
=  EXIT CODE: 9
=  CLEANING UP REMAINING PROCESSES
=  YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
YOUR APPLICATION TERMINATED WITH THE EXITSTRING: Killed (signal 9)
This typically refers to a problem with yourapplication.
Please see the FAQpage for debugging suggestions
应该怎么解决呢?请多指教。

26

帖子

0

威望

1579

eV
积分
1605

Level 5 (御坂)

24#
发表于 Post on 2022-7-7 12:18:44 | 只看该作者 Only view this author
ChemG 发表于 2022-7-7 10:13
错误很明显,你的包没下载成功。自己下下来放到build文件夹里就行了

知道怎么下载了,谢谢大佬

26

帖子

0

威望

1579

eV
积分
1605

Level 5 (御坂)

23#
发表于 Post on 2022-7-7 10:19:00 | 只看该作者 Only view this author
ChemG 发表于 2022-7-7 10:13
错误很明显,你的包没下载成功。自己下下来放到build文件夹里就行了

自己下载需要去哪里下载啊?刚接触这个,还不太了解

247

帖子

1

威望

2407

eV
积分
2674

Level 5 (御坂)

22#
发表于 Post on 2022-7-7 10:13:24 | 只看该作者 Only view this author
guoguoping199 发表于 2022-7-7 09:58
==================== Finding GCC from system paths ====================
path to gcc is  /usr/bin/ ...

错误很明显,你的包没下载成功。自己下下来放到build文件夹里就行了
我唯一知道的就是我一无所知,但我是化学小迷弟

26

帖子

0

威望

1579

eV
积分
1605

Level 5 (御坂)

21#
发表于 Post on 2022-7-7 09:58:36 | 只看该作者 Only view this author

==================== Finding GCC from system paths ====================
path to gcc is  /usr/bin/gcc
path to g++ is  /usr/bin/g++
path to gfortran is  /usr/bin/gfortran
Found include directory /usr/include
Found lib directory /usr/lib64
Step gcc took 0.00 seconds.
==================== Getting proc arch info using OpenBLAS tools ====================
ERROR: (/home/sob/cp2k-8.1/tools/toolchain/scripts/get_openblas_arch.sh) failed to download https://www.cp2k.org/static/downloads/OpenBLAS-0.3.10.tar.gz
ERROR: (/home/sob/cp2k-8.1/tools/toolchain/scripts/get_openblas_arch.sh, line 645) Non-zero exit code detected.
ERROR: (./scripts/setup_buildtools.sh, line 38) Non-zero exit code detected.


这就是报错代码,麻烦您看一下这到底是什么原因啊,网络不行吗?不管是用这个方法,还是sob老师的方法,在CentOS和Ubuntu系统里都是报错这个代码,mpi也都提前安装了,数据库也安装了,但是到安装cp2k自己的库时就卡着了

96

帖子

2

威望

1672

eV
积分
1808

Level 5 (御坂)

20#
 楼主 Author| 发表于 Post on 2022-7-7 09:19:05 | 只看该作者 Only view this author
guoguoping199 发表于 2022-6-26 23:09
在2.2.4这一步卡住了,报了一堆代码

贴上来看一下
分子模拟玩家

96

帖子

2

威望

1672

eV
积分
1808

Level 5 (御坂)

19#
 楼主 Author| 发表于 Post on 2022-7-1 16:03:11 | 只看该作者 Only view this author
本帖最后由 Acee 于 2022-7-7 12:48 编辑
guoguoping199 发表于 2022-6-26 23:09
在2.2.4这一步卡住了,报了一堆代码


分子模拟玩家

96

帖子

2

威望

1672

eV
积分
1808

Level 5 (御坂)

18#
 楼主 Author| 发表于 Post on 2022-6-27 13:05:42 | 只看该作者 Only view this author
本帖最后由 Acee 于 2022-7-7 12:49 编辑
guoguoping199 发表于 2022-6-26 23:09
在2.2.4这一步卡住了,报了一堆代码


分子模拟玩家

2301

帖子

1

威望

5473

eV
积分
7794

Level 6 (一方通行)

17#
发表于 Post on 2022-6-27 09:01:19 | 只看该作者 Only view this author
guoguoping199 发表于 2022-6-26 23:09
在2.2.4这一步卡住了,报了一堆代码

用我修改的下载即用的版本试试。
签名中有链接。
High-Performance Computing for You
为您专属定制的高性能计算解决方案

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

328

帖子

0

威望

1916

eV
积分
2244

Level 5 (御坂)

16#
发表于 Post on 2022-6-27 08:22:27 | 只看该作者 Only view this author
guoguoping199 发表于 2022-6-26 23:09
在2.2.4这一步卡住了,报了一堆代码

诶,Linux系统和软件确实很难玩弄

26

帖子

0

威望

1579

eV
积分
1605

Level 5 (御坂)

15#
发表于 Post on 2022-6-26 23:09:33 | 只看该作者 Only view this author
在2.2.4这一步卡住了,报了一堆代码

176

帖子

0

威望

2017

eV
积分
2193

Level 5 (御坂)

14#
发表于 Post on 2022-6-11 16:35:05 | 只看该作者 Only view this author
Acee 发表于 2022-6-11 13:52
找不到是正常的。调用docker安装的cp2k需要用这样的命令
docker run --shm-size=1g -ti -v "$(pwd)":/mn ...

那这样的cp2k我想联用gmx的话是不是没戏?

328

帖子

0

威望

1916

eV
积分
2244

Level 5 (御坂)

13#
发表于 Post on 2022-6-11 16:25:07 | 只看该作者 Only view this author

高,实在是高!docker代码太长太长了。

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

GMT+8, 2024-11-24 00:27 , Processed in 0.200481 second(s), 28 queries , Gzip On.

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