如何使用一个 bash 脚本 运行 多个独立作业?
How can I run several independent jobs using one bash script?
我有几个独立的作业,我想在一个计算机节点上同时 运行。
我想 运行 每个作业只使用请求节点的一个核心。我如何编写 bash 脚本来执行此操作?
这是我写的bash脚本,但是没用
#!/bin/bash
#SBATCH --job-name=20
#SBATCH --partition=the_partition
#SBATCH --nodes=1
#SBATCH --ntasks=20
for n in {1..20};
do
cd "dictionary$n"
./ the job
done
如何修改脚本以同时 运行 20 个独立作业?
最简单的解决方案是使用作业数组:
#!/bin/bash
#SBATCH --job-name=20
#SBATCH --partition=the_partition
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --array=1-20
cd "dictionary$SLURM_ARRAY_TASK_ID"
./ the job
以上脚本将创建一个包含 20 个作业的作业数组,每个作业将 cd
到基于 $SLURM_ARRAY_TASK_ID
变量的目录,该变量将取 1 到 20 之间的不同值数组中的每个作业。
我有几个独立的作业,我想在一个计算机节点上同时 运行。
我想 运行 每个作业只使用请求节点的一个核心。我如何编写 bash 脚本来执行此操作?
这是我写的bash脚本,但是没用
#!/bin/bash
#SBATCH --job-name=20
#SBATCH --partition=the_partition
#SBATCH --nodes=1
#SBATCH --ntasks=20
for n in {1..20};
do
cd "dictionary$n"
./ the job
done
如何修改脚本以同时 运行 20 个独立作业?
最简单的解决方案是使用作业数组:
#!/bin/bash
#SBATCH --job-name=20
#SBATCH --partition=the_partition
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --array=1-20
cd "dictionary$SLURM_ARRAY_TASK_ID"
./ the job
以上脚本将创建一个包含 20 个作业的作业数组,每个作业将 cd
到基于 $SLURM_ARRAY_TASK_ID
变量的目录,该变量将取 1 到 20 之间的不同值数组中的每个作业。