【发布时间】:2023-07-14 19:05:02
【问题描述】:
我尝试并行运行一个 python 文件 240 次(因为每个 在 HPC 系统上运行单个文件大约需要 9 分钟)。理想情况下,每个 python 文件都应该在一个内核上运行。每个节点有 24 个核心。 python 文件有两个输入文件,每组一个:
-
CN_ONLY0.pdb最高CN_ONLY239.pdb -
I_ONLY0.pdb到I_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。
有人知道如何解决这个问题吗?
【问题讨论】:
-
第 0 步。: 向您的 HPC 基础架构技术支持咨询最佳实践,这是最好的起点。总是。
标签: python hpc slurm gnu-parallel