gpt4 book ai didi

python - 在 GridEngine 集群的多个节点上运行作业

转载 作者:行者123 更新时间:2023-11-28 17:53:59 25 4
gpt4 key购买 nike

我可以访问一个 128 核集群,我想在该集群上运行并行作业。集群使用 Sun GridEngine,我的程序编写为在 Python 2.5.8 上使用 Parallel Python、numpy、scipy 运行。在单节点(4 核)上运行作业比单核提高了约 3.5 倍。我现在想把它提升到一个新的水平,并将工作拆分到 ~4 个节点上。我的 qsub 脚本看起来像这样:

#!/bin/bash
# The name of the job, can be whatever makes sense to you
#$ -N jobname

# The job should be placed into the queue 'all.q'.
#$ -q all.q

# Redirect output stream to this file.
#$ -o jobname_output.dat

# Redirect error stream to this file.

#$ -e jobname_error.dat

# The batchsystem should use the current directory as working directory.
# Both files will be placed in the current
# directory. The batchsystem assumes to find the executable in this directory.
#$ -cwd

# request Bourne shell as shell for job.
#$ -S /bin/sh

# print date and time
date

# spython is the server's version of Python 2.5. Using python instead of spython causes the program to run in python 2.3
spython programname.py

# print date and time again
date

有没有人知道如何做到这一点?

最佳答案

是的,您需要在脚本中包含 Grid Engine 选项 -np 16,如下所示:

# Use 16 processors
#$ -np 16

或在您提交脚本时在命令行上。或者,对于更永久的安排,请使用 .sge_request 文件。

在我曾经使用过的所有 GE 安装中,这将在尽可能少的节点上为您提供 16 个处理器(或现在的处理器内核),因此如果您的节点有 4 个内核,您将获得 4 个节点,如果它们有8 2 等等。假设 8 个节点上有 2 个核心(如果每个进程需要大量内存,您可能希望这样做)来放置作业会稍微复杂一些,您应该咨询您的支持团队。

关于python - 在 GridEngine 集群的多个节点上运行作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3872977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com