我正在用 slurm 运行我的程序。我希望所有输出(和所有错误)都转到 logfile.log。我的批处理脚本是
#!/bin/bash
#SBATCH --output=logfile.log
#SBATCH --error=logfile.log
srun PROGRAM
我假设如果我将运行行更改为
srun PROGRAM > logfile.log
并且我已经捕获了所有输出和错误,则其行为会相同。这是正确的吗?
使用提交脚本,例如
#!/bin/bash
#SBATCH --output=logfile.log
#SBATCH --error=logfile.log
srun PROGRAM > logfile.log
logfile.log
将由 Slurm 在作业开始时创建,然后在 srun
命令开始时被截断。
在此过程中您可能会丢失的是序言期间写出的任何消息(如果有)。除此之外,应该没问题,但在某些极端情况下可能会失败,因此可能不是一个好的做法。