首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GridEngine群集的多个节点上运行作业

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

Stack Overflow用户
提问于 2010-10-06 21:31:26
回答 1查看 3.7K关注 0票数 3

我可以访问一个128核的集群,我想在这个集群上运行一个并行作业。该集群使用,我的程序被编写为在Python2.5.8上使用GridEngine,numpy,scipy运行。在单节点(4核)上运行该作业比在单核上运行的性能提高约3.5倍。现在,我想将其提升到一个新的层次,并将作业分散到大约4个节点上。我的qsub脚本如下所示:

代码语言:javascript
复制
#!/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

有谁知道怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-07 18:36:09

是的,您需要在脚本中包含网格引擎选项-np 16,如下所示:

代码语言:javascript
复制
# Use 16 processors
#$ -np 16

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3872977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档