slurm - 如何提交具有不同输入文件的 slurm 作业数组
问题描述
我有一个需要处理的文本文件列表(约 200 个文件)。所以我试图为此任务提交一个 slurm 作业数组,但我找不到解决方案。我尝试的是通过循环文件来提交多个作业(约 200 个作业)以完成一项任务。我确信有一种方法可以为这个问题创建工作数组,你能告诉我吗?
那是我的 bash 脚本
#!/bin/bash
input_list=$1
prefix=$2
readarray list < $input_list
a=0
for i in "${list[@]}"
do
file=$i
sbatch -a1-1 -- $PWD/kscript.sh $file $prefix"_"$a
a=`expr $a + 1`
done
解决方案
我想出了解决方案,所以它比我想象的要简单,这里是:
#!/bin/bash
# Task name
#SBATCH -J myjob
# Run time limit
#SBATCH --time=4:00:00
# Standard and error output in different files
#SBATCH -o %j_%N.out.log
#SBATCH -e %j_%N.err.log
#SBATCH --ntasks=1
# Execute application code
input_list=$1
prefix=$2
readarray list < $input_list
file=${list[$SLURM_ARRAY_TASK_ID-1]}
input=$PWD"/"$file
output=$prefix"_"$SLURM_ARRAY_TASK_ID
./kscript.sh $input $output
推荐阅读
- intellij-idea - 如何在 Intellij 中只运行单个 kotlin 文件
- python - 使用 pandas.duplicated 函数显示重复值
- next.js - Next.js Azure 媒体播放器警告:预期的服务器 HTML 包含匹配
- php - 会话未在 PHP 7.4 中启动,但相同的代码在 PHP 7.1 中有效,无需进行任何更改
- php - 更新查询不会对事务中的数据库进行更改
- c - 关于逻辑 AND 运算符
- python-3.x - 用最少的列表产生最独特的元素
- node.js - 如何更新MongoDB中数组中元素的对象?
- python - 解析依赖项 Pom 文件
- c# - 为什么多边形对撞机 2d 会限制玩家的移动?