在具有SLURM的HPC系统上使用GNU Parallel运行带有两个输入文件的python文件的多个实例

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

我尝试并行运行单个python文件240次(因为每次在HPC系统上运行单个文件大约需要9分钟。理想情况下,每个python文件都应在单个内核上运行。每个节点有24个核心。 python文件需要两个输入文件,每组一个:

  • [CN_ONLY0.pdbCN_ONLY239.pdb] >>
  • [I_ONLY0.pdbI_ONLY239.pdb
  • 当我运行下面发布的代码:

parallel="parallel --delay .2         \
                    -j $SLURM_NTASKS   \
                   --joblog runtask.log \
                   --resume              \
                   --max-args=2"

srun="srun --exclusive -N1 -n1 --cpus-per-task=1 --cpu-bind=cores"

find . -type f \( -name "CN_ONLY*.pdb" -o -name "I_ONLY*.pdb" \) |
        sort -t Y -k 2 -g     |
        TMPDIR=$SLURM_SCRATCH \
        $parallel python python_test.py

它可以正确运行Python程序,但不会将该程序分发到所有不同的请求CPU。

有人知道如何解决此问题吗?

我尝试在HPC系统上并行运行单个python文件240次(因为每个单独的文件运行大约需要9分钟)。理想情况下,每个python文件都应在单个内核上运行。有24个核心...

python hpc slurm gnu-parallel
1个回答
0
投票

当SLURM本身通过阵列作业

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