cluster-computing - slurm 中的作业数组规范无效

标签 cluster-computing slurm

我正在提交一份 slurm 玩具阵列作业。我的命令行是

$ sbatch -p development -t 0:30:0 -n 1 -a 1-2 j1

其中 j1 是脚本:
#!/bin/bash
echo job id is $SLURM_JOB_ID
echo array job id is $SLURM_ARRAY_JOB_ID
echo task id id $SLURM_ARRAY_TASK_ID

当我提交这个时,我收到一个错误:
--> Verifying valid submit host (login1)...OK
--> Verifying valid jobname...OK
--> Enforcing max jobs per user...OK
--> Verifying availability of your home dir (/home1/03400/myname)...OK
--> Verifying availability of your work dir (/work/03400/myname)...OK
--> Verifying availability of your scratch dir (/scratch/03400/myname)...OK
--> Verifying valid ssh keys...OK
--> Verifying access to desired queue (development)...OK
--> Verifying job request is within current queue limits...OK
--> Checking available allocation (PRJ-1234)...OK
sbatch: error: Batch job submission failed: Invalid job array specification

没有数组规范,同样的工作也能正常工作:
$ sbatch -p development -t 0:30:0 -n 1 j1

最佳答案

您的数组规范的语法是正确的。但是您粘贴的打印输出不是标准的 Slurm,我猜您正在研究 Stampede;他们有自己的 sbatch 包装器。

您可以做的是使用 -vvvsbatch 选项来准确查看 Slurm 看到的内容:

$ sbatch -vvv -p development -t 0:30:0 -n 1 -a 1-2 j1 |& grep array

这应该返回
sbatch: array             : 1-2

如果不是,则意味着信息不知何故丢失了。

您可以尝试从提交命令行中删除数组规范并将其插入到提交脚本中,如下所示:
$ sbatch -p development -t 0:30:0 -n 1 j1

j1 是
#!/bin/bash
#SBATCH -a 1-2
echo job id is $SLURM_JOB_ID
echo array job id is $SLURM_ARRAY_JOB_ID
echo task id id $SLURM_ARRAY_TASK_ID

下一步是联系系统管理员并提供您从运行上述测试中获得的信息并寻求帮助。

关于cluster-computing - slurm 中的作业数组规范无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28734185/

相关文章:

java - Tomcat 6 集群配置是否有 useDirtyFlag 选项?

Cassandra 节点丢失

c++ - MPI 代码不适用于 2 个节点,但适用于 1 个

java - 设置多节点集群来运行mapreduce程序

job-scheduling - SLURM 每个节点提交多个任务?

slurm - 捕获 SLURM 批处理脚本中使用的电子邮件地址

android - 删除旧 map 标记并在集群管理器中加载新 map 标记

python - 开发可在不同环境中运行的Python软件

slurm - 当任何作业完成时,SLURM 能否触发脚本(由前端 SLURM 用户实现)?

旧的已经完成的工作的 slurm 工作状态