首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PBS调度器为包含3个处理器的MPI程序分配相同的处理器

PBS调度器为包含3个处理器的MPI程序分配相同的处理器
EN

Stack Overflow用户
提问于 2013-06-29 17:37:31
回答 1查看 112关注 0票数 1

我在一个有8个节点的集群上进行MPI编程,每个节点都有一个Intel Xeon hexcore处理器。我的mpi代码需要三个处理器。

我使用qsub提交作业。当我使用"qstat -n“检查作业正在运行的处理器时,它显示类似cn004/0*3的内容。

那么,这是否意味着它只在一个处理器上运行?

因为它不会比我使用单处理器时更快(这是在两种情况下域大小相同的情况下)

我用来提交的脚本如下

代码语言:javascript
复制
#! /bin/bash
#PBS -o logfile.log
#PBS -e errorfile.err
#PBS -l cput=40:00:00
#PBS -lselect=1:ncpus=3:ngpus=3
#PBS -lplace=excl
cat $PBS_NODEFILE
cd $PBS_O_WORKDIR
mpicc -g -W -c -I /usr/local/cuda/include mpi1.c
mpicc -g -W mpi1.o -L /usr/local/cuda/lib64 -lOpenCL
mpirun -np 3 ./a.out
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-30 16:44:38

"qstat -n“它说的类似于cn004/0*3。

Q:,这是否意味着它只在一个处理器上运行?

简短的回答是“不”。这并不意味着它在一个处理器上运行。"cn004/0*3“应该解释为”作业被分配了三个cpu核心。如果我们从0到5对核心进行编号,那么分配的核心将具有数字0、1和2“。

如果在该节点上运行另一个作业,它将收到接下来的三个连续数字“3、4和5”。在qstat -n输出中,这将类似于"cn004/3*3“。

您使用指令place=excl来确保其他作业不会获得该节点,因此基本上所有六个核心都是可用的。

现在是你的第二个问题:

问:它不会比我使用单处理器时更快

为了回答这个问题,我们需要知道算法是否被正确并行化。

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

https://stackoverflow.com/questions/17378791

复制
相关文章

相似问题

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