私は Slurm を初めて使用し、複数の実行可能ファイルを起動して並行して実行しようとしています (以下の例では、date コマンドのみです)。短い時間の遅延で区切られた、異なる時間に開始することを望みます。
「srun sleep 5s &」などの行を srun の間に追加するか、以下に示す「--begin」オプションを使用して、いくつかの試行を行いました。特に、「--begin」オプションは、「ノードが既に割り当てられているため、--begin は無視されます」と言って失敗します。
並列モジュールは、クラスターでは使用できないようです。
#!/bin/bash
#SBATCH --output=parallel_test_%j.out # Standard output and error log
#SBATCH --time=06:00:00
#SBATCH --nodes=1 # number of nodes
#SBATCH --ntasks=6
#SBATCH --mem-per-cpu=1024M # memory per CPU core
srun="srun -n1 -N1 --exclusive"
# --exclusive ensures srun uses distinct CPUs for each job step
# -N1 -n1 allocates a single core to each task
$srun date &
$srun --begin=now+3 date &
$srun --begin=now+6 date &
$srun --begin=now+9 date &
$srun --begin=now+12 date &
$srun --begin=now+15 date &
wait
私が得る出力は次のとおりです。
srun: error: --begin is ignored because nodes are already allocated.
srun: error: --begin is ignored because nodes are already allocated.
srun: error: --begin is ignored because nodes are already allocated.
srun: error: --begin is ignored because nodes are already allocated.
srun: error: --begin is ignored because nodes are already allocated.
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:05 PDT 2019
Sun Jun 23 14:07:06 PDT 2019
私が取得したいのは、次の出力です。
Sun Jun 23 13:22:54 PDT 2019
Sun Jun 23 13:22:57 PDT 2019
Sun Jun 23 13:23:00 PDT 2019
Sun Jun 23 13:23:03 PDT 2019
Sun Jun 23 13:23:06 PDT 2019
Sun Jun 23 13:23:09 PDT 2019
ご協力ありがとうございました