You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Slurm提交任务数组失败求助:任务未批量生成变量无输出

问题分析与解决

核心错误原因

你提交任务的方式完全错误:

  • 使用sbatch --wrap="bash test.sh"时,Slurm只会把bash test.sh当作单一任务的命令执行,不会解析test.sh内部的#SBATCH注释参数。脚本里的--array=1-6等配置被直接忽略,自然不会生成6个任务数组,$SLURM_ARRAY_TASK_ID环境变量也不会被Slurm设置。
  • 直接执行bash test.sh是在本地终端运行脚本,根本没提交到Slurm集群,Slurm的环境变量和任务调度逻辑完全不生效。

正确提交方式

直接把test.sh作为参数传给sbatch即可,不需要额外的--wrap或bash:

sbatch test.sh

这样Slurm会读取test.sh开头的所有#SBATCH注释,正确解析数组配置,生成6个任务。每个任务都会设置对应的$SLURM_ARRAY_TASK_ID,并生成test_1.out到test_6.out共6个输出文件。

验证方法

提交后用squeue -u $USER查看任务列表,能看到6个处于Pending或Running状态的任务,每个任务名称后会带_1到_6的数组标识。任务完成后查看输出文件,比如cat test_3.out,应该能看到:

TEST MESSAGE 1
3
TEST MESSAGE 2

内容的提问来源于stack exchange,提问作者user1551817

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 09:24:20