python - 如何在 PBS 中指定多个处理器?

标签 python multiprocessing pbs

PBS 排队系统(据我所知)中有两个与多个进程相关的选项。这是脚本中的相关行:

#PBS -l nodes=1:ppn=1

我总是只使用一个进程,而且进展顺利。但是,为了加快速度,我重写了脚本以使用多个进程。这对于普通桌面(没有 PBS)上的测试用例来说效果很好,现在我想使用大型计算机(有 PBS)。如何确保使用正确的 PBS 设置?我需要更改节点ppn吗?我不想随意尝试一些东西,因为我不想弄乱其他人的运行工作。

我在 Python 脚本中使用此函数来创建更多进程:

multiprocessing.Process(name = name, target=multiprocess_function, args=args)

最佳答案

在 PBS 脚本中,nodes代表您要为作业分配的物理节点数,ppn代表每个节点的处理器数量,即您要在每个节点上分配的 CPU 核心数量。据我所知, python multiprocessing模块会在运行它的节点上生成多个进程,如果您希望每个子进程在其自己的核心上运行,则需要增加 ppn .

关于python - 如何在 PBS 中指定多个处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30369957/

相关文章:

python - Python 中数学公式的计算(使用自定义变量名称和下标)

python - 如何在 Python 中通过我自己的 GUI 应用程序创建 linux 用户?

python - 具有多处理功能的 py2exe 无法运行进程

使用 `clone()` 创建子进程。为什么 `wait()` 不等待它终止?

python - 如何根据环境从我的 settings.py DATABASES 数组中激活数据库设置?

python - 在for循环中跳过n个列表项

python - 利用 "Copy-on-Write"将数据复制到 Multiprocessing.Pool() 工作进程

ssh - 无法使用GNU并行在多个节点上运行PBS脚本

javascript - 使用 ImageJ 在大型集群上编写具有多个时间点的并行迭代反卷积脚本

bash - 扭矩的 job_state 值列表