SGE 脚本中的序列部分

Serial section within SGE script

是否可以在 SGE 脚本中强制使用 'serial' 部分?

#$ -S /bin/bash
#$ -N example
#$ -v MPI_HOME
#$ -q all.q
#$ -pe ompi 40
#$ -j yes
#$ -o example.log

$MPI_HOME/bin/mpirun example.exe

# now do some serial commands
grep 'success' example.log
mv example.out /archive

目前,我将这些类型的作业拆分为两个脚本,并使一个依赖于另一个。如果我可以将所有内容都放在一个脚本中,那么维护和调度会简单得多。

您可以执行此操作,但作业将在您执行此操作时保留它正在使用的所有插槽。由于串行代码是直接在作业脚本中调用的,而不是通过 mpi运行 调用的,因此在作业的头节点上只会 运行 一次。对于像您的示例这样的快速内容,这无关紧要,但是如果您有一个很长的 运行ning 序列部分,那么在您进行操作时将它们分成两个作业会更有效地利用资源。