Slurm 任务 ID 作为 Matlab 的函数参数

Slurm task id as Matlab's function argument

我想在 slurm 中创建一个作业数组,使其被称为依赖于数组任务 ID 的 Matlab 函数。我试过了

#!/bin/bash
#SBATCH -J TEST
#SBATCH -p slims
#SBATCH -o o
#SBATCH -e e

matlab -r "test(${SLURM_ARRAY_TASK_ID})"

其中 test.m 是我想要 运行 的 matlab 函数。这会引发错误 "Not enough arguments in line 7 test.m ..."

我应该怎么做?

看起来 $SLURM_ARRAY_TASK_ID 没有定义,并且您的提交文件中没有 --array 参数。因此,除非您在命令行中提供了该参数

sbatch --array ... <yourscript.sh>

您没有告诉 Slurm 创建数组。

#SBATCH --array ... 添加到您的提交脚本或在命令行中指定它。