我正在群集中运行。我尝试用4种不同的形式运行我的可执行文件:
连续使用
myexec
这会立即开始按stdout
提供输出。
在序列中,使用
重定向stdout
和stderr
myexec > out-err.log 2>&1
这会立即按照预期out-err.log
提供输出(在另一个终端中通过cat out-err.log
验证)。
与
并行mpirun -n 2 myexec
这会立即开始按stdout
提供输出。
同时,使用
重定向stdout
和stderr
mpirun -n 2 myexec > out-err.log 2>&1
这将保留输出直到作业完成(由于完成或时间限制)。
有没有办法让stdout / stderr"刷新"在案例4的运行时,我可以检查out-err.log
?
答案 0 :(得分:2)
这是mpi中重定向的已知功能/问题。 我找到了解决这个问题的方法:
在export OMPI_MCA_opal_event_include=poll
或
~/.bashrc
在opal_event_include=poll
中添加~/.openmpi/mca-params.conf
(如果目标和/或文件不存在,则创建目录和/或文件)。
用于获取信息的来源是: