请求时间的 Slurm 环境变量

Slurm environment variable for requested time

对于 slurm 作业,环境变量 $SLURM_JOB_NUM_NODES 给出请求的节点数。

是否有类似的变量给出请求的 运行 时间?我找不到答案,我尝试了 $SLURM_JOB_TIME$SLURM_TIME$SLURM_SUBMIT_TIME,但是 none 这些作品。

最终目标是让脚本我运行知道给运行多少时间,看下面的例子:

#!/bin/bash
#SBATCH --account=abc
#SBATCH --time=1:00:00
#SBATCH --job-name=xyz
#SBATCH --nodes=2
#SBATCH --tasks-per-node=1

python my_python_script.py --run_time $SLURM_JOB_TIME --run_nodes $SLURM_JOB_NUM_NODES

在 Slurm 作业中设置的环境变量称为输出环境变量;它们列在 sbatch manpage.

请求的时间不存在这样的变量。

在提交脚本中,您可以使用 squeue 查询 Slurm 控制器的信息。您的脚本可能看起来像

TIME=$(squeue -j $SLURM_JOB_ID -h --Format TimeLimit)
python my_python_script.py --run_time $TIME --run_nodes $SLURM_JOB_NUM_NODES