计算化学公社

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

[CP2K] cp2k输出文件里每一项都重复输出四遍的疑问

[复制链接 Copy URL]

178

帖子

0

威望

1883

eV
积分
2061

Level 5 (御坂)

各位前辈,我编译了cp2k-9.1后,按照社长的帖子http://bbs.keinsci.com/thread-21608-1-1.html提交了其中的test.inp算例,提交命令为mpirun -np 4 cp2k test.inp |tee test.out,输出文件里每一项都重复输出四遍(如图所示),但是只用cp2k test.inp |tee test.out提交的话(默认只调用一个CPU),输出结果只有一次。我想请教一下,用mpirun多核提交任务时是多核算一个任务还是每个核分别算同样的任务呢?那我这样情况是不是属于没有编译好呢?谢谢各位!

cp2k输出.png (127.09 KB, 下载次数 Times of downloads: 34)

cp2k输出.png

205

帖子

3

威望

1894

eV
积分
2159

Level 5 (御坂)

2#
发表于 Post on 2022-6-13 14:38:48 | 只看该作者 Only view this author
用 mpirun -np 4 cp2k.popt test.inp |tee test.out 试试
你这抄作业都抄错了

185

帖子

1

威望

4133

eV
积分
4338

Level 6 (一方通行)

3#
发表于 Post on 2022-6-13 14:48:21 | 只看该作者 Only view this author
你的 cp2k 实际是 ssmp,mpirun -np 4 可不就相当于同时跑了四个一样的任务么
看清楚不同版本是咋运行的:
先测试ssmp版。将test.inp放到当前目录下,运行:cp2k.ssmp test.inp |tee test.out。输出信息会在屏幕上显示,也同时写入到了test.out里。默认情况下所有CPU核心都会被用于OpenMP并行计算,如果比如想只用4核,就先运行export OMP_NUM_THREADS=4命令然后再运行CP2K,此时运行过程中CP2K进程的CPU占用率应当在300~400%。

再测试popt版。假设用4核通过MPI方式并行,就执行:mpirun -np 4 cp2k.popt test.inp |tee test.out。在top中看到会有4个cp2k.popt在运行,占用率皆接近100%。

178

帖子

0

威望

1883

eV
积分
2061

Level 5 (御坂)

4#
 楼主 Author| 发表于 Post on 2022-6-13 15:07:13 | 只看该作者 Only view this author
Eudaimonia 发表于 2022-6-13 14:38
用 mpirun -np 4 cp2k.popt test.inp |tee test.out 试试
你这抄作业都抄错了

我用alias把cp2k.popt简写了。

178

帖子

0

威望

1883

eV
积分
2061

Level 5 (御坂)

5#
 楼主 Author| 发表于 Post on 2022-6-13 15:08:56 | 只看该作者 Only view this author
highlight 发表于 2022-6-13 14:48
你的 cp2k 实际是 ssmp,mpirun -np 4 可不就相当于同时跑了四个一样的任务么
看清楚不同版本是咋运行的: ...

可是我已经用alias把popt版本简写了诶。

149

帖子

0

威望

1875

eV
积分
2024

Level 5 (御坂)

6#
发表于 Post on 2022-6-13 15:53:51 | 只看该作者 Only view this author
876449830 发表于 2022-6-13 15:08
可是我已经用alias把popt版本简写了诶。

如果是按博文 在~/.bashrc里面加入一行alias cp2k='mpirun -np 4 cp2k.popt'
你的运行命令用 cp2k test.inp |tee test.out不就好了吗

178

帖子

0

威望

1883

eV
积分
2061

Level 5 (御坂)

7#
 楼主 Author| 发表于 Post on 2022-6-13 16:00:11 | 只看该作者 Only view this author
PoorChaos 发表于 2022-6-13 15:53
如果是按博文 在~/.bashrc里面加入一行alias cp2k='mpirun -np 4 cp2k.popt'
你的运行命令用 cp2k test. ...

对的呀,但是很奇怪输出就有4遍一样的,感觉编译出问题了。

185

帖子

1

威望

4133

eV
积分
4338

Level 6 (一方通行)

8#
发表于 Post on 2022-6-13 16:24:11 | 只看该作者 Only view this author
876449830 发表于 2022-6-13 16:00
对的呀,但是很奇怪输出就有4遍一样的,感觉编译出问题了。

跟编译有啥关系
你同时跑了四个作业,还都输出到同一个文件,当然有四个输出了
你也别搞什么 alias 或改名了,直接
export OMP_NUM_THREADS=4
cp2k.ssmp test.inp |tee test.out
# 或
mpirun -np 4 cp2k.popt test.inp |tee test.out

178

帖子

0

威望

1883

eV
积分
2061

Level 5 (御坂)

9#
 楼主 Author| 发表于 Post on 2022-6-13 16:35:00 | 只看该作者 Only view this author
highlight 发表于 2022-6-13 16:24
跟编译有啥关系
你同时跑了四个作业,还都输出到同一个文件,当然有四个输出了
你也别搞什么 alias ...

还是没懂诶,我用mpirun -np 4 提交同一个任务,我是想让cp2k调用多核跑一个任务呀,但是输出4遍一样的信息,这是什么鬼咯

178

帖子

0

威望

1883

eV
积分
2061

Level 5 (御坂)

10#
 楼主 Author| 发表于 Post on 2022-6-13 16:35:30 | 只看该作者 Only view this author
highlight 发表于 2022-6-13 16:24
跟编译有啥关系
你同时跑了四个作业,还都输出到同一个文件,当然有四个输出了
你也别搞什么 alias ...

还是没懂诶,我用mpirun -np 4 提交同一个任务,我是想让cp2k调用多核跑一个任务呀,但是输出4遍一样的信息,这是什么鬼咯

185

帖子

1

威望

4133

eV
积分
4338

Level 6 (一方通行)

11#
发表于 Post on 2022-6-13 16:45:04 | 只看该作者 Only view this author
本帖最后由 highlight 于 2022-6-13 16:46 编辑
876449830 发表于 2022-6-13 16:35
还是没懂诶,我用mpirun -np 4 提交同一个任务,我是想让cp2k调用多核跑一个任务呀,但是输出4遍一样的信 ...

因为 ssmp 只是 openmp 版本,不是 mpi 版本,mpirun 时就相当于运行了完全一样且独立的四个进程啊
你输入 date 能输出一次时间,mpirun -np 4 date 是不是就输出了四个?

178

帖子

0

威望

1883

eV
积分
2061

Level 5 (御坂)

12#
 楼主 Author| 发表于 Post on 2022-6-13 17:18:29 | 只看该作者 Only view this author
highlight 发表于 2022-6-13 16:45
因为 ssmp 只是 openmp 版本,不是 mpi 版本,mpirun 时就相当于运行了完全一样且独立的四个进程啊
你输 ...

懂了,感谢解答!那就是我调用的是ssmp版本的,但是我是用cp2k.popt也是一样的诶,这是怎么回事嘞?

185

帖子

1

威望

4133

eV
积分
4338

Level 6 (一方通行)

13#
发表于 Post on 2022-6-14 08:49:09 | 只看该作者 Only view this author
876449830 发表于 2022-6-13 17:18
懂了,感谢解答!那就是我调用的是ssmp版本的,但是我是用cp2k.popt也是一样的诶,这是怎么回事嘞?

那说明你的 cp2k.popt 实际指向了 ssmp,估计是 alias 或重命名时搞出岔子了
只编译一个版本就好啊,我最习惯的还是 psmp

2301

帖子

1

威望

5473

eV
积分
7794

Level 6 (一方通行)

14#
发表于 Post on 2022-6-14 09:17:28 | 只看该作者 Only view this author
新版本,默认编译,没有popt
实际上是指向psmp 版本的。

要么用官方提供的docker镜像,
或者使用我修改之后的镜像。
我修改的镜像,用起来很方便。

一知半解,又生搬硬套,当然会有莫名其妙的错误了。
High-Performance Computing for You
为您专属定制的高性能计算解决方案

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

178

帖子

0

威望

1883

eV
积分
2061

Level 5 (御坂)

15#
 楼主 Author| 发表于 Post on 2022-6-14 09:57:19 | 只看该作者 Only view this author
highlight 发表于 2022-6-14 08:49
那说明你的 cp2k.popt 实际指向了 ssmp,估计是 alias 或重命名时搞出岔子了
只编译一个版本就好啊,我 ...

好滴,感谢!我得再重编一下了

本版积分规则 Credits rule

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

GMT+8, 2024-11-24 20:15 , Processed in 0.196779 second(s), 23 queries , Gzip On.

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