我的问题与this one https://stackoverflow.com/questions/41900600/slurm-sbatch-job-array-for-the-same-script-but-with-different-input-arguments-ru,不同的是我的不同参数不是数字而是字符串。
如果我有一个脚本(myscript.R),它接受两个字符串作为参数:“text-a”,“text-A”。我的 sbatch shell 脚本是:
#!/bin/bash
#SBATCH -n 1
#SBATCH -c 12
#SBATCH -t 120:00:00
#SBATCH --partition=main
#SBATCH --export=ALL
srun ./myscript.R "text-a" "text-A"
现在我有一些不同的输入字符串,我想使用它们来运行:
first <- c("text-a","text-b","text-c","text-d")
second <- c("text-A","text-B","text-C","text-D")
我想使用文本组合运行 myscript.R,例如:
srun ./myscript.R "text-a" "text-A"
srun ./myscript.R "text-b" "text-B"
srun ./myscript.R "text-c" "text-C"
srun ./myscript.R "text-d" "text-D"
但如果我将它们放在同一个 shell 脚本中,它们将按顺序运行。我只知道我可以使用#SBATCH -a 0-10
当参数是索引时。如果我想同时提交四个脚本,并且每个脚本都具有完全相同的设置(特别是每个脚本都需要分配-c 12
), 我怎样才能做到这一点?
Thanks!