为什么节点零不会执行一些写入日志文件的语句
我有一个生产作业,通过 OPENMPI 使用两个节点(0=主节点和 1=从节点),并通过 OPENMP 使用每个节点上的所有线程。
我在master上提交了作业。
作业在 master 上打开一个磁盘文件来记录一些信息。 (我看到在运行期间也在从属设备上打开了相同的文件)
我有类似
write(lu,*) 'pid=',pid,' some text'
和 的
write(6, *) 'pid=',pid,' some text'
语句一个接一个。 (单元 6 是 gfortran 中的 stdout -screen-)。 我在屏幕上看到这两条语句一个接一个地打印( pid=0 和 pid=1 )。
奇怪的是,日志文件上的大多数(不是全部)主打印(pid=0)都不存在。
这令人费解。我想学习一下规则。我认为主服务器和从服务器共享日志文件。
我有一个主机文件,其中有两个主机,每个主机请求 32 个线程(通过 slot 和 max-slots 命令),并且我正在将以下命令作为脚本运行,
miprun --hostfile hostfile --map-by node:pe32 myexecutable
如果有专家能够阐明这个问题,我将不胜感激。
I have a production job where I use two nodes (0=master and 1=slave) via OPENMPI and all the threads on each node via OPENMP.
I submit the job on the master.
Job opens a disk file on master to log some info. ( I see same file is opened on slave as well during the run)
I have statements like
write(lu,*) 'pid=',pid,' some text'
and
write(6, *) 'pid=',pid,' some text'
one after the other. (unit 6 is the stdout -screen- in gfortran).
I see on screen that both statements are printed one after the other ( pid=0 and pid=1 ).
Strangely enough most (not all) of master prints (pid=0) on the log file are absent.
This is puzzling. I would like to learn the rule. I thought both master and slave share the logfile.
I have a host file with two hosts each requesting 32 threads ( via slots and max-slots commands ) and I am running the following command as a script
miprun --hostfile hostfile --map-by node:pe32 myexecutable
I will appreciate if some expert can shed light on the issue.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论