mpirun保留重定向的标准输出
我正在集群中运行。我尝试使用4种不同的表单运行可执行文件:mpirun保留重定向的标准输出,mpi,stdout,Mpi,Stdout,我正在集群中运行。我尝试使用4种不同的表单运行可执行文件: 连载 myexec 正如预期的那样,这会立即在stdout中开始输出 在串行模式下,重定向stdout和stderr,使用 myexec > out-err.log 2>&1 mpirun -n 2 myexec > out-err.log 2>&1 这会按照预期立即在out err.log中提供输出(在另一个终端中通过cat out err.log进行验证) 同时,与 mpirun -n
myexec
正如预期的那样,这会立即在stdout
中开始输出stdout
和stderr
,使用
myexec > out-err.log 2>&1
mpirun -n 2 myexec > out-err.log 2>&1
这会按照预期立即在out err.log
中提供输出(在另一个终端中通过cat out err.log
进行验证)mpirun -n 2 myexec
正如预期的那样,这会立即在stdout
中开始输出stdout
和stderr
,使用
myexec > out-err.log 2>&1
mpirun -n 2 myexec > out-err.log 2>&1
这将保留输出,直到作业完成(由于完成或时间限制)在案例4中,有没有办法让stdout/stderr在运行时“刷新”,这样我就可以检查出err.log?这是mpi中重定向的已知特性/问题。 我找到了解决这个问题的方法:
~/.bashrc
中添加export OMPI\u MCA\u opal\u event\u include=poll
,或~/.openmpi/mca params.conf
中添加opal\u event\u include=poll
(如果目录和/或文件不存在,则创建它们)