LSF:关于请求节点、独占选择节点和运行mpirun

LSF:关于请求节点、独占选择节点和运行mpirun,mpi,cluster-computing,hpc,lsf,Mpi,Cluster Computing,Hpc,Lsf,我对在多用户集群环境中提交作业感到非常困惑。我使用的脚本有以下标题 #BSUB -L /bin/bash #BSUB -n 10 #BSUB -J jobname #BSUB -oo log/output.%J #BSUB -eo log/error.%J #BSUB -q queue_name #BSUB -P project_name #BSUB -R "span[ptile=12]" #BSUB -W 2:0 mpirun ./someexecutable 在我的意图中,此作业应该在1

我对在多用户集群环境中提交作业感到非常困惑。我使用的脚本有以下标题

#BSUB -L /bin/bash
#BSUB -n 10
#BSUB -J jobname
#BSUB -oo log/output.%J
#BSUB -eo log/error.%J
#BSUB -q queue_name
#BSUB -P project_name
#BSUB -R "span[ptile=12]"
#BSUB -W 2:0

mpirun ./someexecutable
在我的意图中,此作业应该在10个处理器(核心)上运行,并跨越1个整个节点(因为机器上的每个节点都有12个核心),因此节点完全由我使用,没有其他用户干扰我的节点。我已经明确地检查过了,看起来我的代码在运行时使用了10个内核

现在我正在和某人谈话,他们告诉我,用这种方式,我实际上要120个核。我认为这是不对的,但可能我误解了说明

我应该改用吗

#BSUB -R "span[hosts=1]" 
在我看来,这个作业应该在10个处理器(核心)上运行,并跨越1个整个节点

是的,你想用

#BSUB -n 10
#BSUB -R "span[hosts=1]"
这意味着只将作业放在一台主机上

没有其他用户对我的节点进行干扰

您可以通过以下方式以独占方式访问主机:

#BSUB -x
仅供参考。你可以想到

#BSUB -R "span[ptile=x]"

如图所示,在一台主机上最多放置x个插槽。

您的描述表明您需要的是。请注意,如果您的MPI库没有特定的LSF支持,那么您可能只在一个节点上运行,而不管实际分配了多少个节点,也不管分配给这个节点的核心数是多少。实际上,我是在10个核心上运行的,因为我已经检查了。有人告诉我,如果我使用
mpirun-np 10./someexecutable
,我最终会在每个核心上运行10个虚拟核心,是吗?那么
#BSUB-R“span[hosts=1]”呢?分配的核心数?或者MPI任务的数量<代码>MPI运行-np 10 a.out
将在一段时间内运行10个MPI任务。这与分配了多少节点以及每个节点分配了多少内核无关。顺便说一句,你为什么不直接问这个“某人”呢?我在运行时使用了
mpi\u comm\u size
进行了检查。因为我周围没有他们可以问,否则我会问