使用 srun 设置 sbatch 环境变量

Setting sbatch environment variables with srun

blog post by Pierre Lindenbaum 中,srunMakefile 到 运行 作业中被调用。我依赖这种技术,但它根本没有使用 sbatch,所以我错过了设置类似 sbatch 的环境变量的机会。我可以将以下内容放在哪里,以便 SLURM 知道该怎么做?

#SBATCH -J testing
#SBATCH -A account
#SBATCH --time=1:00:00
#SBATCH --cpus-per-task=1
#SBATCH --begin=now
#SBATCH --mem=1G
#SBATCH -C sb

srun 命令接受几乎所有 sbatch 参数(--array 是一个明显的例外)。在引用的博客 post 中,这些参数设置在以下行:

.SHELLFLAGS= -N1 -n1  bash -c 

所以你会写

.SHELLFLAGS= -J testing  -A account  --time=1:00:00 --cpus-per-task --begin=now --mem=1G -C sb bash -c 

请注意,如果您指定 --cpu-per-task=1,并且保留一个任务的默认值,这可能意味着节点在您的设置中是共享的;在这种情况下,--mem-per-cpu=1G--mem=1G

更有意义