shell 脚本中的 Gnu 并行化

问题描述 投票:0回答:1

我正在使用 GNU

parallel
同时运行 3 个脚本。这是我当前的 shell 脚本。

#!/bin/bash
#SBATCH --array=0-0
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=3
#SBATCH --cpus-per-task=1
#SBATCH --time=07:30:00
#SBATCH --mail-type=FAIL

module load julia

parallel -j $SLURM_TASKS_PER_NODE << EOF
julia main.jl $SLURM_ARRAY_TASK_ID 0.025 0
julia main.jl $SLURM_ARRAY_TASK_ID 0.025 1
julia main.jl $SLURM_ARRAY_TASK_ID 0.025 2
EOF

但是,这无法运行。我使用

bash -x jobs.sh
来获得更多见解,但没有发现任何值得注意的地方。起初我怀疑它可能来自
$SLURM_TASKS_PER_NODE
参数,而不仅仅是使用整数 3。但是交换它没有任何作用。

有什么建议吗?

bash parallel-processing hpc gnu-parallel
1个回答
0
投票

看来在调试的过程中,我把

SBATCH --array
去掉了。因此
$SLURM_ARRAY_TASK_ID
留空。这相当令人尴尬,显然需要一个良好的睡眠。

我不会删除这篇文章,因为评论中有很好的想法。

© www.soinside.com 2019 - 2024. All rights reserved.