SLURM:不同但按顺序编号的文件上的相同脚本 运行
SLURM: same script run on different but sequentially numbered files
我使用的集群刚刚切换到 SLURM,我正在尝试做一些我认为非常简单的事情。我有一个脚本,我想在许多按顺序编号的文件上 运行,例如:
python script.py file1.gz
python script.py file2.gz
python script.py file3.gz
我有一些碎片,但不知道如何将它们组合到 运行。我觉得需要用#SBATCH --array=0-29
调用文件数,$SLURM_ARRAY_TASK_ID
也涉及到。
#!/bin/bash -l
#SBATCH --ntasks=1
#SBATCH --time=24:00:00
#SBATCH --mem=4G
#SBATCH --array=0-29 ##my files go from file1 - file30
$SLURM_ARRAY_TASK_ID
我不确定如何合并 SBATCH --array
和 ARRAY_TASK_ID
以立即对所有文件进行 script.py
运行ning。
你几乎拥有它:
#!/bin/bash -l
#SBATCH --ntasks=1
#SBATCH --time=24:00:00
#SBATCH --mem=4G
#SBATCH --array=1-30 ##my files go from file1 - file30
python script.py "file${SLURM_ARRAY_TASK_ID}.gz"
您最好像您拥有的文件编号一样对数组元素进行编号。然后,使用使用该 SLURM 变量创建的正确文件名调用脚本。
此作业提交脚本将一系列作业排队,每个作业的时间限制为 24 小时,最多使用 4GiB 内存并且仅运行一个任务(一个处理器)。
我使用的集群刚刚切换到 SLURM,我正在尝试做一些我认为非常简单的事情。我有一个脚本,我想在许多按顺序编号的文件上 运行,例如:
python script.py file1.gz
python script.py file2.gz
python script.py file3.gz
我有一些碎片,但不知道如何将它们组合到 运行。我觉得需要用#SBATCH --array=0-29
调用文件数,$SLURM_ARRAY_TASK_ID
也涉及到。
#!/bin/bash -l
#SBATCH --ntasks=1
#SBATCH --time=24:00:00
#SBATCH --mem=4G
#SBATCH --array=0-29 ##my files go from file1 - file30
$SLURM_ARRAY_TASK_ID
我不确定如何合并 SBATCH --array
和 ARRAY_TASK_ID
以立即对所有文件进行 script.py
运行ning。
你几乎拥有它:
#!/bin/bash -l
#SBATCH --ntasks=1
#SBATCH --time=24:00:00
#SBATCH --mem=4G
#SBATCH --array=1-30 ##my files go from file1 - file30
python script.py "file${SLURM_ARRAY_TASK_ID}.gz"
您最好像您拥有的文件编号一样对数组元素进行编号。然后,使用使用该 SLURM 变量创建的正确文件名调用脚本。
此作业提交脚本将一系列作业排队,每个作业的时间限制为 24 小时,最多使用 4GiB 内存并且仅运行一个任务(一个处理器)。