计算化学公社

标题: docker-singularity方法安装可随意移植的cp2k [打印本页]

作者
Author:
djjj148    时间: 2021-10-16 23:02
标题: docker-singularity方法安装可随意移植的cp2k
本帖最后由 djjj148 于 2021-10-18 09:57 编辑

1. 前言
CP2K的安装比较耗时且容易出错,相比于VASP,QE它太折腾了,但是它的功能和运行速度是真香。公社里已经有大量的帖子对CP2K的安装进行了讨论。
目前,在CP2K的使用和安装上大概有以下几种情况:
1. 预编译版的ssmp太慢,谁都不想用
2. 自己编译折腾太久且容易出错
3. 好不容易编译出来了,test的时候wrong太多,就算全correct了也不一定能正常使用,比如内存爆浆问题
4. 千辛万苦编译出能正常用的CP2K了,换了一个不太一样的机器还得折腾,因为CP2K对系统环境实在是太敏感了
5. 会编译的人还想编译出速度更快的CP2K

这个帖子能一次解决上述所有问题总体思路:使用官方的Dockerfile文件在容器里安装CP2K的组件,得到docker镜像后转为singularity镜像编译CP2K本体。
对CP2K最熟悉且能让它稳定运行和跑得最快的人莫过于开发者,此方法能保证得到的CP2K和开发者优化过的完全一致,无论是系统环境还是编译参数等。而且,由于容器技术的优点,编译出来的CP2K可以直接复制到任何相同指令集的机器上即可运行,且速度和稳定性不会打一点折扣。由于个人兴趣,公社里有关编译CP2K的帖子我都看过且自己会动手编译,以安装出性能更优的CP2K。经测试,按照上述方法编译出来的CP2K确实比我编译/接触过的任何一个CP2K的运行速度都要快。还有一点很重要的是,上述方法也是极其省心的,完全不折腾,且成功率很难不是100%。
下面进行具体的操作。
2. docker-singularity方法安装CP2K
这个方法需要使用的Linux系统有网络且在root账户下操作,如果用的服务器/节点不联网或者没有root权限的话,在自己电脑上装Vmware的Linux虚拟机就行,因为是在容器里安装CP2K,是可以随意移植到"任意相同指令集的机器"上的。我用的系统是centos 7.6。
安装docker:
  1. curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
复制代码
  1. systemctl enable docker # 开机自动启动docker
  2. systemctl start docker # 启动docker
  3. systemctl restart docker # 重启dokcer
复制代码


安装singularity:
  1. yum install -y epel-release
  2. yum install -y singularity
复制代码

去官网下载最新的CP2K源代码包cp2k-8.2.tar.bz2并解压:
  1. tar jxf cp2k-8.2.tar.bz2
  2. cd cp2k-8.2/tools/toolchain
复制代码

构建镜像名为cp2k/toolchain的docker镜像,注意最后的点(.)
  1. docker build -t cp2k/toolchain .
复制代码
然后docker就会基于CP2K开发者写的Dockerfile在我们的系统上安装一个容器系统,并在容器系统内使用toolchain命令自动安装CP2K的组件。这里耗时最久,但是一定不会失败。如果运行到一半中止了也只可能是网络不够快,下载组件的安装包失败了而已,再次运行上述命令即可。

docker build命令完成后会输出类似以下的内容:
  1. ========================== usage =========================
  2. Done!
  3. Now copy:
  4.   cp /opt/cp2k-toolchain/install/arch/* to the cp2k/arch/ directory
  5. To use the installed tools and libraries and cp2k version
  6. compiled with it you will first need to execute at the prompt:
  7.   source /opt/cp2k-toolchain/install/setup
  8. To build CP2K you should change directory:
  9.   cd cp2k/
  10.   make -j 48 ARCH=local VERSION="ssmp sdbg psmp pdbg"

  11. arch files for GPU enabled CUDA versions are named "local_cuda.*"
  12. arch files for coverage versions are named "local_coverage.*"

  13. Note that these pre-built arch files are for the GNU compiler, users have to adapt them for other compilers.
  14. It is possible to use the provided CP2K arch files as guidance.
  15. Removing intermediate container 68b68474d16a
  16. ---> 68e78acf2465
  17. Successfully built 68e78acf2465
  18. Successfully tagged cp2k/toolchain:latest
复制代码
编译过CP2K的人都知道这个内容意味着CP2K的组件安装成功了,可以编译CP2K本体了。但要注意,CP2K的组件确实安装成功了,但是是在docker容器的系统内,所以要进容器里去编译。我们现在可以查看构建好的docker镜像,使用docker image ls
  1. $ docker image ls
  2. REPOSITORY       TAG       IMAGE ID       CREATED       SIZE
  3. cp2k/toolchain   latest    68e78acf2465   2 days ago    5.19GB
  4. ubuntu           20.04     597ce1600cf4   2 weeks ago   72.8MB
复制代码
可以看到名为cp2k/toolchain的镜像总大小5.19 G。且使用的基础镜像是ubuntu 20.04系统

========================================================================================
2021-10-17更新,原本我是通过上传和下载镜像将docker镜像转化singularity镜像,经abin老师提醒,可以直接在本地转格式。
  1. docker save 68e78acf2465 -o cp2k82.tar
复制代码
其中68e78acf2465是docker image ls查看到的IMAGE ID
把打包后的docker镜像转为singularity镜像:
  1. singularity build --tmpdir /home cp2k82.sif docker-archive://cp2k82.tar
复制代码
由于这个过程中会生成较大的临时文件,系统默认的临时文件目录是/tmp,可能不够,会报错,这里用了--tmpdir参数将临时文件目录改为/home
这里解释一下为什么要转格式:
1. 虽然我们可以直接进入docker镜像的对应容器里编译CP2K本体。但是singularity镜像在超算等实际计算应用中更方便,因为它最大的优势就是使用时不需要root等特殊权限。
2. 相比于docker,singularity更简单,更好学,我也更熟悉后者。上传docker镜像是为了用singularity把它下载下来,这样镜像就会转为singularity镜像。
========================================================================================

等待转换完成后,把sif文件改成可更改的沙箱cp2k82,比如在/opt上操作,生成的沙箱就在/opt。
  1. singularity build --sandbox --tmpdir /home cp2k82/ cp2k82.sif
复制代码

运行结束会生成cp2k82/的目录,这就是一个sandbox形式的singularity容器,里面包含了一个操作系统。

复制cp2k-8.2.tar.bz2到sandbox的opt/目录里:
  1. cp cp2k-8.2.tar.bz2 /opt/cp2k82/opt/
复制代码


进入沙箱操作:
  1. [root@master /opt]# singularity shell -w cp2k82
  2. Singularity>
复制代码
可以看到[root@master /opt]#变成了Singularity>,代表我们成功进入了容器的系统,类似Vmware的虚拟机系统。
先给容器的系统安装vim:
  1. apt-get update
  2. apt-get install -y vim
复制代码
开始编译CP2K本体:
  1. cd /opt
  2. tar jxf cp2k-8.2.tar.bz2
  3. cp /opt/cp2k-toolchain/install/arch/* /opt/cp2k-8.2/arch/
  4. source /opt/cp2k-toolchain/install/setup
  5. cd /opt/cp2k-8.2
  6. make -j 24 ARCH=local VERSION="psmp"
复制代码

编译完成后test
  1. make -j 24 ARCH=local VERSION="psmp" test
复制代码
基本上一定会全部成功,系统都用的和官方一模一样的系统,我想不出任何产生"哪怕一个失败例子"的可能
  1. --------------------------------- Timings --------------------------------
  2. Plot: name="timings", title="Timing Distribution", ylabel="time [s]"
  3. PlotPoint: name="100th_percentile", plot="timings", label="100th %ile", y=60.61, yerr=0.0
  4. PlotPoint: name="99th_percentile", plot="timings", label="99th %ile", y=21.241800000000023, yerr=0.0
  5. PlotPoint: name="98th_percentile", plot="timings", label="98th %ile", y=13.995600000000014, yerr=0.0
  6. PlotPoint: name="95th_percentile", plot="timings", label="95th %ile", y=8.11, yerr=0.0
  7. PlotPoint: name="90th_percentile", plot="timings", label="90th %ile", y=5.516000000000008, yerr=0.0
  8. PlotPoint: name="80th_percentile", plot="timings", label="80th %ile", y=3.12, yerr=0.0

  9. --------------------------------- Summary --------------------------------
  10. Number of FAILED  tests 0
  11. Number of WRONG   tests 0
  12. Number of CORRECT tests 3459
  13. Total number of   tests 3459
  14. GREPME 0 0 3459 0 3459 X

  15. Summary: correct: 3459 / 3459; 15min
  16. Status: OK

  17. --------------------------------------------------------------------------
  18. Regtest took 896.00 seconds.
  19. --------------------------------------------------------------------------
  20. Thu Oct 14 13:26:40 CST 2021
  21. *************************** testing ended ********************************
复制代码
  1. vi /.singularity.d/env/91-environment.sh
复制代码

加入cp2k的环境变量,singularity容器里的/.singularity.d/env/91-environment.sh类似于真实linux系统中的~/.bashrc。添加以下内容:
  1. source /opt/cp2k-toolchain/install/setup
  2. export PATH=$PATH:/opt/cp2k-8.2/exe/local
  3. export CP2K_DATA_DIR=/opt/cp2k-8.2/data
复制代码
退出容器系统:
  1. exit
复制代码


现在就可以对容器内的CP2K实际测试一下了,在容器外运行容器内的CP2K,参考以下脚本:
  1. #!/bin/sh
  2. export EXE="singularity exec /opt/cp2k82"
  3. source /opt/intel2018/parallel_studio_xe_2018/psxevars.sh
  4. ## cpu cores
  5. export cpu_cores=24
  6. ulimit -s unlimited

  7. mpirun -np ${cpu_cores} ${EXE} cp2k.popt cp2k.inp 1>cp2k.out 2>cp2k.err
复制代码

测试完成,没有问题的话就可以把singularity打包为sif文件:
  1. singularity build --tmpdir /home cp2k82-1.sif cp2k82/
复制代码


把这个sif文件复制到任何机器上,只要CPU的最高指令集一致,都可以运行,且运行速度不会受到丝毫影响。打包后把运行脚本中的
  1. export EXE="singularity exec /opt/cp2k82"
复制代码
改为
  1. export EXE="singularity exec /opt/cp2k82-1.sif"
复制代码
即可运行。

3. 后记
3.1. 经测试,该镜像中的CP2K的运行速度比“我自己编译的最快的intel-CP2K”还快8%-9.5%。
PS:由于cp2k本身计算速度就太快,特意选的较大体系(使用OT算法每个电子步的循环用时4.7, 2.5, 2.4s)测试,小体系的话(2.1, 1.0, 1.1s)就看不出区别。

3.2. cp2k-8.2版本有bug,要在inp文件里加上PREFERRED_DIAG_LIBRARY SL,但是对比后发现,以docker编译的CP2K加和不加这个参数都一样快,具体如下:
&GLOBAL
...
PREFERRED_DIAG_LIBRARY SL
&END GLOBAL


3.3. 如果在本地自己用toolchain编译cp2k,在做频率计算的时候cp2k.out文件可能会提示:
“ this binary cannot exploit all extensions of this CPU model (x86_avx2).”
这是因为在本地用toolchain编译的cp2k组件(注意这里指的是cp2k的组件,如plumed和sirius等,不是指CP2K本体)没有基于CPU的最高指令集进行优化。这会导致在做频率计算的时候速度不如优化后的cp2k。
但是如果用官方的docker编译,就不会出现这样的提示,意味着对于频率计算,容器内的cp2k更快。经测试,对于我研究的体系,频率任务的运行速度会快12%-19%

4. 总结
4.1. 本文使用了官方的Dockerfile进行CP2K的编译,相比于自己用toolchain脚本在本地编译,可以说是傻瓜式操作了。该方法唯一的缺点就是需要等待的时间比较久,但是好在不折腾,100%成功(我实在想不出怎样可以失败),而且编译一次就几乎一劳永逸了,除非官方出新版本。
4.2. 本帖涉及到一些容器操作,限于篇幅不对相应命令做过多说明,可自行在网上搜索学习。
4.3. docker-singularity方法不是专为CP2K而订做,很多软件的源代码包里都有Dockerfile文件,比如,Pyscf,你品你细品。

4.4. 为了方便大家使用CP2K,我把编译好CP2K的singularity镜像分享出来,对应目前最新的8.2版本,有avx2和avx512指令集两种。但是对于CP2K这样的优秀软件,更新会很频繁,我的镜像早晚会过时,学会钓鱼才不会担心没鱼吃哟。
链接:https://pan.baidu.com/s/12q4oGGNKE_s_vh5vfZSPGQ
提取码:aran










作者
Author:
abin    时间: 2021-10-17 09:25
建议修正一下,
学习一下 docker save。

docker push不是好方案。

既然是100%成功,
又采用的是默认Dockerfile ,
记录使用流程即可。

最后的镜像过大,不利于分享。

只要有Dockerfile
自己执行一下就搞定了。

官方也同时提供了MKL Cuda适配的Dockerfile,
自己运行一下指令就行了。

另,Docker Hub上,
应该可以找到好多小而美的GNU 版本的镜像。

【秒换系统 | Switch Linux OS Instantly-哔哩哔哩】https://b23.tv/R8Bd4n
singularity 的精髓应该在这里……

比如也可以用singularity 来给其他程序提供专用的系统。
比如给Multiwfn提供适配的操作系统……
比如打包一个可用的dushin 等

这里有示例,
https://gitee.com/hpc4you/linux
作者
Author:
djjj148    时间: 2021-10-17 12:34
abin 发表于 2021-10-17 09:25
建议修正一下,
学习一下 docker save。

感谢提醒。我之前就觉得转个格式应该没必要用网络的。
对于分享镜像,由于我自己的办公电脑就是个很普通的i5处理器,但是用的服务器有512指令集的且不联网,我相信很多人和我情况差不多,这就没办法docker得到avx-512的cp2k了,好在我自己是集群管理员。给计算节点开了网络才编译的,但是我觉得大多数人,无论是课题组集群的普通用户还是租用超算都没有这条件,干脆就送佛送到西了。

作者
Author:
abin    时间: 2021-10-17 13:58
djjj148 发表于 2021-10-17 12:34
感谢提醒。我之前就觉得转个格式应该没必要用网络的。
对于分享镜像,由于我自己的办公电脑就是个很普通 ...

可以采用按时付费的方式,
租用裸金属服务器,
啥样的硬件都能满足。

大概一个小时4元到20元。
用阿里香港,腾讯香港,
还不用担心github gitlab 被断开的事情。

有一次,我演示从系统最小安装,
采用intel套件编译vasp,
就是租用的阿里云服务器。

原来想着租用费用可能需要200元,
最后结算,只有18元。

合理租用高性能云服务做编译测试,
比买机器划算多了。
作者
Author:
ggdh    时间: 2021-10-17 18:45
"如果用的服务器/节点不联网或者没有root权限的话,在自己电脑上装Vmware的Linux虚拟机就行"
这句话没理解,如果自在自己电脑上装虚拟机,那就是在自己电脑上装cp2k了把。
那还是不能用服务器资源把?
作者
Author:
Aridea    时间: 2021-10-17 19:21
ggdh 发表于 2021-10-17 18:45
"如果用的服务器/节点不联网或者没有root权限的话,在自己电脑上装Vmware的Linux虚拟机就行"
这句话没理解 ...

楼主意思是,本地联网安装好,可以直接移植过去,环境软件打包后简单便携
作者
Author:
abin    时间: 2021-10-17 19:56
singularity 借用的是系统的硬件,
方案是类似硬件直通模式。
要的是处理器指令集……

不过,稍微仔细看点手册,
指定指令集做编译就行了,
和处理器关系不大……只不过要耗费很多的时间而已……等候更久。

作者
Author:
flyingchow    时间: 2021-10-18 14:28
请问一下用Ubuntu20.4打包的singularity,如果在red hat上跑,会出现kernal too old的错误吗?
我现在用的超算是red hat6,太难了。
作者
Author:
djjj148    时间: 2021-10-18 15:08
flyingchow 发表于 2021-10-18 14:28
请问一下用Ubuntu20.4打包的singularity,如果在red hat上跑,会出现kernal too old的错误吗?
我现在用的 ...

singularity能正常使用就可以,和什么系统打包的singularity没有关系
作者
Author:
flyingchow    时间: 2021-10-19 02:24
djjj148 发表于 2021-10-18 15:08
singularity能正常使用就可以,和什么系统打包的singularity没有关系

经过我的实测,red hat6是打不开您做的这个sif文件的,显示kernal too old的报错。但是red hat8就可以。我们麻省的超算现在正在进行痛苦的transition。
另外请问您的上传脚本里的“source /opt/intel2018/parallel_studio_xe_2018/psxevars.sh”是什么用意呢? 您提供的sif文件里好像没有这个文件夹。
谢谢您无私的教导。
作者
Author:
flyingchow    时间: 2021-10-19 02:56
老师您好,我用您做的这个sif文件分别在我自己的电脑和超算上试了一下。我自己的电脑运行非常好,在超算上,首先red hat 6是直接报错的。在red hat 8中可以直接运行,但是算到中间也会报错,显示:
“application called MPI_Abort(MPI_COMM_WORLD, 0) - process 0
[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=0”


我把在我自己电脑上和在超算上的输出文件都上传了,老师们看看是什么问题,谢谢。

作者
Author:
flyingchow    时间: 2021-10-19 03:12
flyingchow 发表于 2021-10-19 02:56
老师您好,我用您做的这个sif文件分别在我自己的电脑和超算上试了一下。我自己的电脑运行非常好,在超算上 ...

老师,我明白哪里错了,还是不同CPU的指令集不一样。
作者
Author:
flyingchow    时间: 2021-10-19 04:20
djjj148 发表于 2021-10-18 15:08
singularity能正常使用就可以,和什么系统打包的singularity没有关系

在更换了您另一个指令集的sif文件之后,cp2k可以运行的。
但是在启动mpirun的时候,会出现一个错误:
“Singularity> mpirun -np 4 cp2k.popt test.inp |tee test.out        
/bin/sh: /opt/cp2k-toolchain/install/mpich-3.3.2/bin/hydra_pmi_proxy: No such file or directory”
找不到“hydra_pmi_proxy"。
这个错误似乎是因为这个sif里的hydra_pmi_proxy和节点上的冲突了。
作者
Author:
flyingchow    时间: 2021-10-19 06:31
老师您多次说到了指令集的问题,我自己也感受到l了指令集不同运行的情况的确不同。但singularity打包的时候是怎么确定用哪种指令集的呢?谢谢。
作者
Author:
djjj148    时间: 2021-10-19 08:24
本帖最后由 djjj148 于 2021-10-19 08:29 编辑
flyingchow 发表于 2021-10-19 06:31
老师您多次说到了指令集的问题,我自己也感受到l了指令集不同运行的情况的确不同。但singularity打包的时候 ...

Google Linux查看指令集
作者
Author:
flyingchow    时间: 2021-10-19 09:11
djjj148 发表于 2021-10-19 08:24
Google Linux查看指令集

我的意思是您在制作sif文件的时候,如何制作不同版本的文件。谢谢。
作者
Author:
djjj148    时间: 2021-10-19 09:44
flyingchow 发表于 2021-10-19 09:11
我的意思是您在制作sif文件的时候,如何制作不同版本的文件。谢谢。

取决于机器的最高指令集,比如是avx2就会做出对应的cp2k
作者
Author:
flyingchow    时间: 2021-10-19 14:04
djjj148 发表于 2021-10-19 08:24
Google Linux查看指令集

老师好,我再问一个问题:
这个singularity打包的时候能不能并行选择openmpi,如何才能再编译toolchain时候选择openmpi呢?
作者
Author:
flyingchow    时间: 2021-10-19 15:44
abin 发表于 2021-10-17 19:56
singularity 借用的是系统的硬件,
方案是类似硬件直通模式。
要的是处理器指令集……

老师,请问您可以再只有avx2的机器上编译打包avx512的sif文件吗?如果可以的话,应该怎么设置呢?具体应该是从一开始toolchain就开始改动,还是最终编译cp2k改动就行了。
作者
Author:
abin    时间: 2021-10-19 19:59
flyingchow 发表于 2021-10-19 15:44
老师,请问您可以再只有avx2的机器上编译打包avx512的sif文件吗?如果可以的话,应该怎么设置呢?具体应 ...

你要改很多东西。
如果你仅仅会使用官方默认的Dockerfile ,
那么,你基本不用折腾了……

与其耗费那些功夫,还不如租用机器来搞定。
作者
Author:
flyingchow    时间: 2021-10-20 04:22
abin 发表于 2021-10-19 19:59
你要改很多东西。
如果你仅仅会使用官方默认的Dockerfile ,
那么,你基本不用折腾了……

明白明白
作者
Author:
djjj148    时间: 2021-10-20 07:57
flyingchow 发表于 2021-10-19 14:04
老师好,我再问一个问题:
这个singularity打包的时候能不能并行选择openmpi,如何才能再编译toolchain ...

手改Dockerfile,想要什么都可以
作者
Author:
flyingchow    时间: 2021-10-20 08:08
对不起老师,
我用这个官方的dockerfile跑,打包居然还出错了。
整个人都是懵的。
我再自己电脑上编译都成功了,用官方文件居然还弄不出来。

Number of FAILED  tests 2843
Number of WRONG   tests 0
Number of CORRECT tests 0
Total number of   tests 2843
GREPME 2843 0 0 0 2843 X

Summary: correct: 0 / 2843; failed: 2843; 6min
Status: FAILED

--------------------------------------------------------------------------
Regtest took 340.00 seconds.
--------------------------------------------------------------------------
Tue Oct 19 20:03:25 EDT 2021
作者
Author:
djjj148    时间: 2021-10-20 19:55
flyingchow 发表于 2021-10-20 08:08
对不起老师,
我用这个官方的dockerfile跑,打包居然还出错了。
整个人都是懵的。

如果之前已经test过了,在没有任何处理下再test就会全部FAILED    
作者
Author:
asd9998876    时间: 2021-10-21 11:57
本帖最后由 asd9998876 于 2021-10-21 12:02 编辑

请教一下,服务器的指令集查看只有AVX的,这种能用docker进行编译吗之前toolchain的方法好像和指令集没有关系,这个指令集是docker/singularity需要的还是cp2k需要的呢

作者
Author:
djjj148    时间: 2021-10-21 12:34
asd9998876 发表于 2021-10-21 11:57
请教一下,服务器的指令集查看只有AVX的,这种能用docker进行编译吗之前toolchain的方法好像和指令集没有关 ...

可以试试,反正是半挂机操作。AVX太老了点,但不一定编译不了。
作者
Author:
ggdh    时间: 2021-10-22 13:45
我在自己电脑上做好sif后,能成功运行了,
然后我把sif拷贝到别的电脑上,运行的时候会提示输入文件找不到:
*******************************************************************************
*   ___                                                                       *
*  /   \                                                                      *
* [ABORT]                                                                     *
*  \___/      The specified OLD file <h2.inp> cannot be opened. It does not   *
*    |               exist. Data directory path: /opt/cp2k-8.2/data           *
*  O/|                                                                        *
* /| |                                                                        *
* / \                                                   common/cp_files.F:395 *
*******************************************************************************

我目前的解决方案是在那个电脑上创建沙盒,然后每次跑的时候在脚本中加入一行,把inp文件拷贝到沙盒中的/opt/cp2k-8.2/data文件夹下,能正常算。不知道这个错误是为啥会出现
作者
Author:
djjj148    时间: 2021-10-22 15:05
ggdh 发表于 2021-10-22 13:45
我在自己电脑上做好sif后,能成功运行了,
然后我把sif拷贝到别的电脑上,运行的时候会提示输入文件找不到 ...

是否严格按照帖子中的运行方式运行的?包括sif文件的放置目录、我给的运行脚本是否完全一致。主要是前者,比如:如果以root账号运行/home的sif文件,inp却放到/home/tom目录下,singularity就无法挂载到inp所在目录下,也就找不到Inp
另:可能是inp文件写法问题,贴出来看看。用Multiwfn生成的运行试试

作者
Author:
ggdh    时间: 2021-10-22 23:09
djjj148 发表于 2021-10-22 15:05
是否严格按照帖子中的运行方式运行的?包括sif文件的放置目录、我给的运行脚本是否完全一致。主要是前者 ...

感谢解答,我试过了,sif放在/home/tom下,inp也在/home/tom/xxx里面,如果用户是tom,就可以跑,用户是root,就会出现刚才之前哪个错误。好神奇,为啥root反而没有权限了?
作者
Author:
djjj148    时间: 2021-10-23 08:00
ggdh 发表于 2021-10-22 23:09
感谢解答,我试过了,sif放在/home/tom下,inp也在/home/tom/xxx里面,如果用户是tom,就可以跑,用户是r ...

这应该是singularity的挂载问题,我在手册上瞟到过,应该是用--bind参数可以指定挂载目录。
作者
Author:
flyingchow    时间: 2021-10-25 01:10
asd9998876 发表于 2021-10-21 11:57
请教一下,服务器的指令集查看只有AVX的,这种能用docker进行编译吗之前toolchain的方法好像和指令集没有关 ...

我试过从avx2的机器里做的docker文件,转成sif后传到只有avx的机器里编译,编译会报错,显示"core dumped"。
作者
Author:
xujc1983    时间: 2021-10-26 13:27
(, 下载次数 Times of downloads: 45) 遇到这种情况,恳请楼主是哪里的问题?没找到哪里设置这个maxtasks

作者
Author:
xujc1983    时间: 2021-10-26 14:35
xujc1983 发表于 2021-10-26 13:27
遇到这种情况,恳请楼主是哪里的问题?没找到哪里设置这个maxtasks

自己发帖,自己回了
参照https://www.cp2k.org/dev:regtesting里的说明,先进到psmp的目录下,后面执行do_regtest的语句抄上,后面的参数选项那里加上了“ -maxtasks 4 ”,然后就可以测试了
作者
Author:
ggdh    时间: 2021-10-26 22:17
djjj148 发表于 2021-10-23 08:00
这应该是singularity的挂载问题,我在手册上瞟到过,应该是用--bind参数可以指定挂载目录。

感谢大佬提示,
最后的脚本里面singularity后面加个选项--bind "/home:/home" 就搞定了
作者
Author:
xzysooyoung    时间: 2021-10-28 00:41
请问老师,如果版本再次更新,怎么样把现在使用的8.2版本彻底删除呢?

作者
Author:
djjj148    时间: 2021-10-28 08:38
xzysooyoung 发表于 2021-10-28 00:41
请问老师,如果版本再次更新,怎么样把现在使用的8.2版本彻底删除呢?

singularity cache clean -f
docker image rm -f [Image_ID]
其他都是常规能看到的文件/目录,看着删除即可
作者
Author:
xzysooyoung    时间: 2021-10-28 17:59
请问楼主,百度网盘密码是什么?谢谢

作者
Author:
djjj148    时间: 2021-10-29 07:31
jitou11 发表于 2021-10-28 19:28
最近按着您的教程走了一遍,到最后在容器外运行的时候有一些问题。
在容器外您写了一个脚本,最关键的部分 ...

1. 在容器外安装intel全家桶并在提交脚本里source
2. cpu_cores改为机器的物理核心就可以了
作者
Author:
snljty    时间: 2021-10-29 09:22
jitou11 发表于 2021-10-29 09:03
但是我感觉既然容器内有mpi了就没必要在容器外再装一个mpi了。
我想知道如何在容器内设置并行的线程 ...

说一个小问题,mpi是进程级并行,不是线程级。可以参考这个https://www.zhihu.com/question/25532384
作者
Author:
djjj148    时间: 2021-10-29 14:57
本帖最后由 djjj148 于 2021-10-29 15:13 编辑
jitou11 发表于 2021-10-29 09:03
但是我感觉既然容器内有mpi了就没必要在容器外再装一个mpi了。
我想知道如何在容器内设置并行的进程 ...

不建议这么搞,如果你坚持。。。
singularity exec /opt/cp2k82.sif mpirun -np ${cpu_cores} cp2k.popt cp2k.inp 1>cp2k.out 2>cp2k.err

自行搜索singularity的主流用法和测试后就知道为什么

作者
Author:
abin    时间: 2021-10-29 16:45
【秒换系统 | Switch Linux OS Instantly-哔哩哔哩】https://b23.tv/kGFqbJ

不仅是可以用来做应用,
也可以是瞬间可变的各种系统。

仅供参考。
作者
Author:
djjj148    时间: 2021-10-30 13:39
本帖最后由 djjj148 于 2023-7-24 17:05 编辑
jitou11 发表于 2021-10-30 11:16
昨天测试了,能跑,就是很慢。同样的输入文件我直接跑几分钟就完了,
这样加mpirun几分钟还没跑完一 ...

这两种跑法我之前就实测过,为了严谨回复你,我刚才又测了一遍,结果就是:两者运行效率的差距可以忽略。你如果运行慢甚至比你自己做的VM虚拟机还慢的话就是你自己配置的问题。


作者
Author:
wth1219    时间: 2021-10-30 23:12
“把这个sif文件复制到任何机器上,只要CPU的最高指令集一致,都可以运行,且运行速度不会受到丝毫影响。”

楼主您好,咨询一下实际读取用sif文件开展CP2K计算的机器应该也需要安装singularity罢?是否需要安装docker呢?谢谢!
作者
Author:
djjj148    时间: 2021-10-31 08:08
wth1219 发表于 2021-10-30 23:12
“把这个sif文件复制到任何机器上,只要CPU的最高指令集一致,都可以运行,且运行速度不会受到丝毫影响。” ...

需要singularity,不需要docker了

作者
Author:
wth1219    时间: 2021-10-31 09:43
djjj148 发表于 2021-10-31 08:08
需要singularity,不需要docker了

收到,谢谢!
作者
Author:
flyingchow    时间: 2021-11-2 00:50
jitou11 发表于 2021-10-30 13:58
我只是把自己测试的结果写出来而已,我提到虚拟机了?
我说的直接跑是按我昨天的回复,不加mpirun。

我觉得你这个mpi嵌套的过程,放在这个教程里面的确不妥。至少这个和如何顺利使用singularity无关。
作者
Author:
abin    时间: 2021-11-2 09:21
jitou11 发表于 2021-11-2 08:52
有啥不妥的?这就是他脚本里的东西,主机没有任何mpi那就是走不过去。他至少应该在开头提一句“需要主机 ...

也许是设定不当。

比如MS的Dmol3,运行没有啥问题呀……

和host有没有MPI没啥关系呀……

具体自己测试吧……
作者
Author:
abin    时间: 2021-11-2 09:21
jitou11 发表于 2021-11-2 08:52
有啥不妥的?这就是他脚本里的东西,主机没有任何mpi那就是走不过去。他至少应该在开头提一句“需要主机 ...

也许是设定不当。

比如MS的Dmol3,运行没有啥问题呀……

和host有没有MPI没啥关系呀……

具体自己测试吧……
作者
Author:
abin    时间: 2021-11-2 11:06
jitou11 发表于 2021-11-2 09:24
这个例子和当前的情况也没有啥关系啊?

我是想说,
如果一个程序需要MPI并行,
有两种选择。

1 在镜像中直接使用MPI来跑。

2 主机上使用MPI,镜像中仅仅提供各种Libs,
使用mpirun -n xxx singularity exec imgFile.SIF app inputs

两种方式都可以。

当然需要做必要的配置。
能否正确的跑起来,
看个人技术能力。
或者找一个IT技术做配置吧。

某些平台,也与调度器有关系的。
作者
Author:
tianyongpan    时间: 2021-11-2 11:58
前边安装测试都没有问题,但是到容器外运行的时候,就提示找不到psxevars.sh。我看了一下运行文件中的source,发现opt文件夹下连intel2018这个文件夹都没有,是咋回事
作者
Author:
abin    时间: 2021-11-2 12:17
jitou11 发表于 2021-11-2 11:26
差不多。
这个教程使用的是官网中的Hybrid model,它同时使用了主机和容器中的mpi。
命令是您2中的命令 ...

官方不在手册中提及intel系列工具,
原因可能是, 版权原因.

OneAPI公开免费是近期的时候, Singularity开发是比较早的事情, 那个时候intel工具链是需要付费的.
然后intel的版权协议, 也不会允许打包到镜像中, 再发布, 再移植这种.
Singularity开发方, 为了规避版权纠纷, 应该不会主动提及intel相关工具链的.

稍微花点功夫,
读一下手册, 你会发现intel MPI 和MPICH2, 以及MVAPICH2, 是兼容的.
意味着, 使用intelMPI编译之后的并行软件, 当然可以使用MPICH2来跑.

一个用来跑并行计算的工作站或者平台上,
GNU系列的MPI肯定是必备的.
系统上必定存在openMPI, MPICH2,等各种参数优化的MPI版本.

当然openMPI和MPICH2未必100%兼容.

比如cp2k的开发者, 在Dockerfile中就写很清楚,
包含intel工具链的方案, 仅供测试、展示.
最后得到的镜像, 由于版权限制, 不便于提供.

仅供参考.
作者
Author:
ggdh    时间: 2021-11-2 14:50
abin 发表于 2021-11-2 12:17
官方不在手册中提及intel系列工具,
原因可能是, 版权原因.

intel mpi和openmpi是不是不兼容.
我之前机器上有个mpirun 我直接用了,发现他是并行跑了n个cp2k的任务,而不是用n个核跑一个任务.
后来装了OneAPI的mpirun就好了
作者
Author:
abin    时间: 2021-11-2 16:00
ggdh 发表于 2021-11-2 14:50
intel mpi和openmpi是不是不兼容.
我之前机器上有个mpirun 我直接用了,发现他是并行跑了n个cp2k的任务, ...

intel MPI和 MPICH2 MVAPICH
我测试,我自己编译调试的VASP,
无论使用以上哪一个MPI,都运行正常。

测试网络是100Gbps IB,
vasp 5444使用intel工具链编译。

别的应用场景,不清楚,不晓得。
作者
Author:
wth1219    时间: 2021-11-3 00:00
楼主您好,我在使用学校集群中编译的singularity 3.7.0(singularity --version // singularity version 3.7.0)和以下脚本:
export EXE="singularity exec ~/software/cp2k82-avx2-1.sif"
source /share/apps/intel/intel_2018u4/bin/compilervars.sh intel64
ulimit -s unlimited
mpirun -np 24 ${EXE} cp2k.popt *.inp 1 > cp2k.out 2 > cp2k.error

提交计算后,集群报错:“fatal error: runtime: out of memory”,下面还有一些列“runtime stack:”、“goroutine 1 [running, locked to thread]:”、“
goroutine 6 [syscall]:”等报错内容。
cp2k.error文件中的报错内容为“BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES”,但所用的intel_2018u4可以正常运行他人编译的cp2k可执行文件,换用intel_2018u1和intel_2018u2亦未有改观。

想向您咨询一下这些报错可能是什么原因造成的?是singularity的版本问题吗?谢谢!
作者
Author:
tianyongpan    时间: 2021-11-3 17:30
本帖最后由 tianyongpan 于 2021-11-3 17:34 编辑

容器外采用oneapi运行没问题,但是产生好多盘符,做了几次都是这样,很奇怪
作者
Author:
tianyongpan    时间: 2021-11-3 17:37
本帖最后由 tianyongpan 于 2021-11-4 18:22 编辑

补上图片。后来发现,采用几个核计算,就会出现几个伪盘符,里边是打包的运行系统。不影响计算,umount后好像也不占用空间,但每次计算完都umount挺烦人的,高手可以讨论下怎么消除。有探索了下,不source oneapi的话,不会出现伪盘符,但只是单核运行计算。

作者
Author:
djjj148    时间: 2021-11-3 17:40
本帖最后由 djjj148 于 2021-11-3 17:41 编辑
wth1219 发表于 2021-11-3 00:00
楼主您好,我在使用学校集群中编译的singularity 3.7.0(singularity --version // singularity version 3. ...

可能是singularity的问题。可以试试保持制作镜像的singularity版本和运行镜像的版本一致能否能解决这问题。
作者
Author:
tianyongpan    时间: 2021-11-4 18:23
jitou11 发表于 2021-11-4 15:15
今天在服务器上测试了一下,不加mpirun,直接
它的进程数是跟着实际运行的机器的cpu的最大进程数走的。
...

你用的可是oneapi?
作者
Author:
wolfli369    时间: 2021-11-15 19:20
djjj148 发表于 2021-10-19 08:24
Google Linux查看指令集

请问,你打包的sif文件怎么在新服务器上运行?本人没有还没有接触过singularity,提前谢谢
作者
Author:
watfros    时间: 2021-11-23 10:02
如果是集群,每台服务器都需要单独安装singularity吗?
作者
Author:
ball2006    时间: 2021-11-23 16:33
watfros 发表于 2021-11-23 10:02
如果是集群,每台服务器都需要单独安装singularity吗?

需要看你singularity的安装位置,如果是放到共享目录下面,装一个就可以了。如果不是,就得每台服务器都得安装
作者
Author:
ball2006    时间: 2021-11-23 16:36
jitou11 发表于 2021-11-4 18:48
找到问题所在了,它就是OMP_NUM_THREADS=1 !
这个教程里完全没有设置这个环境变量,后果就是当用mpirun运 ...

你选用的cp2k版本的问题,楼主使用的是popt,而你使用的是psmp,实际上popt版严格等价于psmp版结合OMP_NUM_THREADS=1。
作者
Author:
watfros    时间: 2021-11-23 17:26
ball2006 发表于 2021-11-23 16:33
需要看你singularity的安装位置,如果是放到共享目录下面,装一个就可以了。如果不是,就得每台服务器都 ...

那是不是还得要求集群的服务器硬件完全一样?
作者
Author:
ball2006    时间: 2021-11-23 19:16
watfros 发表于 2021-11-23 17:26
那是不是还得要求集群的服务器硬件完全一样?

不需要,硬件不一样也许会影响计算效率
作者
Author:
watfros    时间: 2021-11-24 10:54
ball2006 发表于 2021-11-23 19:16
不需要,硬件不一样也许会影响计算效率

感谢回复,我测试了几个例子,有的成功了,有的出错了,
作者
Author:
努力学习的小喻    时间: 2021-11-24 16:26
老师您好,感谢您的分享,想问一下您分享的百度网盘内容的提取码是多少
作者
Author:
tianyongpan    时间: 2021-11-25 18:23
本帖最后由 tianyongpan 于 2021-11-25 18:25 编辑
jitou11 发表于 2021-11-4 18:48
找到问题所在了,它就是OMP_NUM_THREADS=1 !
这个教程里完全没有设置这个环境变量,后果就是当用mpirun运 ...

我加上这一句之后,没有改变还是原来的问题,
作者
Author:
zorow    时间: 2021-11-26 10:02
老师好,请问容器的sif文件中有intel编译器吗?您脚本中“source /opt/intel2018/parallel_studio_xe_2018/psxevars.sh”是不是调用了容器外的intel编译器啊?
作者
Author:
tianyongpan    时间: 2021-11-26 10:11
jitou11 发表于 2021-11-25 20:02

嗯,现在是一个图标了
作者
Author:
renzhogn424    时间: 2021-11-26 19:03
zorow 发表于 2021-11-26 10:02
老师好,请问容器的sif文件中有intel编译器吗?您脚本中“source /opt/intel2018/parallel_studio_xe_2018/ ...

肯定是了,那是个容器外的计算脚本,实际上你机器有什么MPI都可以用的。
作者
Author:
renzhogn424    时间: 2021-11-26 19:12
谢谢楼主,成功运行,大大降低了cp2k安装门槛。

现在我就在想,这个镜像如何减肥。比如toochain里面的mpich可以删掉。
话说singularity的压缩效率不错,10多个G的东西压到2.几个G
作者
Author:
zorow    时间: 2021-11-26 20:07
renzhogn424 发表于 2021-11-26 19:03
肯定是了,那是个容器外的计算脚本,实际上你机器有什么MPI都可以用的。

感谢您回复!我机器的MPI是2015的,担心有点太老了...
作者
Author:
renzhogn424    时间: 2021-11-27 10:11
jitou11 发表于 2021-11-26 21:59
可以像卢老师教程里提到的那样

mpich还是别删,免得外面的mpi出事了没得用。

了解,好主意,谢谢。应该也只能精简到此了
作者
Author:
renzhogn424    时间: 2021-11-27 10:14
zorow 发表于 2021-11-26 20:07
感谢您回复!我机器的MPI是2015的,担心有点太老了...

2015的MPI确实老了一些,建议更新,或者直接用容器里的MPI
作者
Author:
neocc    时间: 2021-11-28 10:15
请问如何避免anaconda的干扰(如果需要改动环境变量,怎么改回原来的anaconda)

  1. make[3]: *** [/opt/cp2k-8.2/Makefile:520: /opt/cp2k-8.2/lib/local/psmp/libcp2kgridcommon.a] Error 127
  2. make[3]: *** Waiting for unfinished jobs....
  3. make[3]: /home/USER/anaconda3/envs/cp2k/bin/x86_64-conda-linux-gnu-ranlib: Command not found
复制代码


还有就是intel MPI版本的问题,使用新的intel oneAPI,在dockerfile运行之前 和 进入Singularity后开始编译,需要source 环境嚒

  1. #load intel oneApi Tookit env
  2. . /opt/intel/oneapi/setvars.sh
复制代码


PS:
《ubuntu安装最新Singularity教程》
https://singularity-tutorial.github.io/01-installation/
作者
Author:
neocc    时间: 2021-11-29 21:20
neocc 发表于 2021-11-28 10:15
请问如何避免anaconda的干扰(如果需要改动环境变量,怎么改回原来的anaconda)

问题已自行解决。

vim ~/.bashrc
alias python=/usr/bin/python3
anaconda的路径全部都先#注释一下

source~/.bashrc

intel oneAPI的命令没问题
作者
Author:
neocc    时间: 2021-11-29 23:06
abin 发表于 2021-10-17 09:25
建议修正一下,
学习一下 docker save。

请问,出现如下如下报错需要如何解决?
singularity version
3.5.3

FATAL:   container creation failed: mount /proc/self/fd/6->/usr/local/var/singularity/mnt/session/rootfs error: while mounting image /proc/self/fd/6: failed to find loop device: could not attach image file to loop device: no loop devices available

作者
Author:
PoorChaos    时间: 2021-11-29 23:39
我 就 VASP 怎么也编译不成功,,,,
作者
Author:
abin    时间: 2021-11-29 23:45
neocc 发表于 2021-11-29 23:06
请问,出现如下如下报错需要如何解决?
singularity version
3.5.3

https://www.osc.edu/book/export/html/4696

自己动手
作者
Author:
neocc    时间: 2021-11-30 09:53
abin 发表于 2021-11-29 23:45
https://www.osc.edu/book/export/html/4696

自己动手

按照您的提示,3.1版本以上的解决方案是:
1.清理缓存
  1. $ singulariy cache clean
复制代码
2.在提交任务的batch里面加上 SINGULARITY_CACHEDIR 路径
  1. export SINGULARITY_CACHEDIR=/opt
复制代码

不好意思,按照如上方法尝试后还是原来的报错
作者
Author:
abin    时间: 2021-11-30 10:05
本帖最后由 abin 于 2021-11-30 10:07 编辑
neocc 发表于 2021-11-30 09:53
按照您的提示,3.1版本以上的解决方案是:
1.清理缓存
2.在提交任务的batch里面加上 SINGULARITY_CACHE ...


如果集群是你做的, 而且你也是集群运维负责人, 那么需要进修一下, 提升技能.
如果有集群运维技术, 找他来处理.

或者你去singularity, 提issue.
简单说,
先搞定单机, 再搞定集群.

作者
Author:
neocc    时间: 2021-11-30 10:43
abin 发表于 2021-11-30 10:05
如果集群是你做的, 而且你也是集群运维负责人, 那么需要进修一下, 提升技能.
如果有集群运维技术, 找 ...

好的,谢谢老师,我再去看看手册
作者
Author:
Mentary    时间: 2021-11-30 12:11
本帖最后由 Mentary 于 2021-11-30 16:54 编辑

您好,在自己的虚拟机上完全按照您的教程走的,之前都没出错,test后发现出错了。新建的虚拟机centos7.6,请问什么原因啊

作者
Author:
zmjsce    时间: 2021-12-1 21:07
ggdh 发表于 2021-10-22 23:09
感谢解答,我试过了,sif放在/home/tom下,inp也在/home/tom/xxx里面,如果用户是tom,就可以跑,用户是r ...

我也遇到了同样的问题
作者
Author:
zmjsce    时间: 2021-12-1 21:29
本帖最后由 zmjsce 于 2021-12-1 22:32 编辑
ggdh 发表于 2021-10-22 13:45
我在自己电脑上做好sif后,能成功运行了,
然后我把sif拷贝到别的电脑上,运行的时候会提示输入文件找不到 ...

我是平时使用普通用户,仅仅在运行CP2K时使用root用户。
我注意到使用root用户运行时,不会在当前目录下搜索,是不是因为root和普通用户的 ~/ 目录不同导致的呢?
在/testcp2k/ 下进行验证时,程序会卡在第一步动不了。
作者
Author:
ggdh    时间: 2021-12-1 23:19
zmjsce 发表于 2021-12-1 21:29
我是平时使用普通用户,仅仅在运行CP2K时使用root用户。
我注意到使用root用户运行时,不会在当前目录下 ...

是的,我后面用--bind解决了(注意看我的回帖)。。你应该也可以
作者
Author:
nontons    时间: 2021-12-2 17:48
非常感谢您提出的方法,编译和测试都通过了,但是在使用的时候出现了这种问题,请问怎么解决呢?我是在root下安装的cp2k,然后在子目录下使用的

作者
Author:
lesite    时间: 2021-12-6 21:03
感谢分享,请问提取码是多少?

作者
Author:
abin    时间: 2021-12-6 23:20
nontons 发表于 2021-12-2 17:48
非常感谢您提出的方法,编译和测试都通过了,但是在使用的时候出现了这种问题,请问怎么解决呢?我是在root ...

MPI问题.

如果在裸机上无法安装成功,
直接在singularity中折腾, 会更糟糕.


作者
Author:
nontons    时间: 2021-12-7 15:22
abin 发表于 2021-12-6 23:20
MPI问题.

如果在裸机上无法安装成功,

谢谢您的回复,这个要怎么解决呢?
系统的intel版本是19.1.0.166,重装可以解决吗

作者
Author:
abin    时间: 2021-12-7 17:57
nontons 发表于 2021-12-7 15:22
谢谢您的回复,这个要怎么解决呢?
系统的intel版本是19.1.0.166,重装可以解决吗

我不晓得你怎么设定的,
不晓得怎么解决。

一般而言,Linux平台上的东西,
重装并不会解决问题。
重装系统,再重刷软件,
可能解决问题。

你可能用了某些所谓的全局设定。
作者
Author:
nontons    时间: 2021-12-7 21:48
abin 发表于 2021-12-7 17:57
我不晓得你怎么设定的,
不晓得怎么解决。

谢谢您,我再看看
作者
Author:
wth1219    时间: 2021-12-20 16:16
老师们好,我在学校集群上测试时发现通过此方法得到的镜像文件在单节点(24核或80核)上运行效率优异,但多节点并行时速度极慢、疑似存在问题。

例如使用楼主老师提供的avx2指令集下的singularity镜像(配合singularity 3.8.4以及intel 2018),对于相同的计算,在使用24核(单节点)和80核(单节点)时每步SCF用时分别约为10.0 s和3.2 s(24核节点与80和节点内存大小不同。)、并行效率正常;但将三个24核节点并行、使用72核计算时,每步SCF用时竟高达25 s左右(多次测试均是如此,可以排除故障节点的因素;使用先前自行编译的CP2K 6.1时多节点并行效率正常,可以排除集群的因素。)、可以说起到了相反的并行效果。

不知道这个问题的原因是什么、是否能够得到解决?谢谢!
作者
Author:
ChemG    时间: 2022-1-6 20:29
cp2k 9.1出来后第一时间用楼主的方案成功产生sif文件,而且第一个离子步卡住的bug也解决了,简单测试发现效率相比cp2k 8.2变化不大,甚至稍有提升,也可能测试体系较小。比我的vmware好用多了,感谢楼主分享
作者
Author:
abin    时间: 2022-1-6 22:14
wth1219 发表于 2021-12-20 16:16
老师们好,我在学校集群上测试时发现通过此方法得到的镜像文件在单节点(24核或80核)上运行效率优异,但多 ...

SIF中的,采用的是MPI+OpenMP?

你之前的6系列版本,是MPI only还是 MPI+OpenMP?
作者
Author:
wth1219    时间: 2022-1-7 00:38
abin 发表于 2022-1-6 22:14
SIF中的,采用的是MPI+OpenMP?

你之前的6系列版本,是MPI only还是 MPI+OpenMP?

老师您好,我的SIF用的是楼主老师提供的avx2指令集版本,根据先前各位老师的测试结果应该是MPI only的popt版本?
我自己的6.1版本是popt,MPI only的。
感谢您的回复!
作者
Author:
Puying    时间: 2022-1-15 14:58
这个方法好诶,如果这个方法能移植ms就好了。
作者
Author:
Zhangpc    时间: 2022-1-28 20:49
nontons 发表于 2021-12-2 17:48
非常感谢您提出的方法,编译和测试都通过了,但是在使用的时候出现了这种问题,请问怎么解决呢?我是在root ...

我直接复制了楼主的sif,也报错HYDU_create_process (../../utils/launch/launch.c:811): execvp error on file singularity (No such file or directory)
作者
Author:
abin    时间: 2022-1-29 10:33
Puying 发表于 2022-1-15 14:58
这个方法好诶,如果这个方法能移植ms就好了。


作者
Author:
renzhogn424    时间: 2022-1-29 18:16
ChemG 发表于 2022-1-6 20:29
cp2k 9.1出来后第一时间用楼主的方案成功产生sif文件,而且第一个离子步卡住的bug也解决了,简单测试发现效 ...

sif能共享一下不?




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