Parallel processing 使用mpirun选项在集群上并行运行单个MPI可执行文件的多个实例?

Parallel processing 使用mpirun选项在集群上并行运行单个MPI可执行文件的多个实例?,parallel-processing,mpi,cluster-computing,sungridengine,Parallel Processing,Mpi,Cluster Computing,Sungridengine,我正在尝试编写一个shell脚本来执行某种算法,其中一部分需要跨网格引擎集群上的多个输入文件并行执行MPI可执行文件。从我读到的内容来看,mpirun似乎通过使用冒号或使用应用程序上下文/模式文件支持MPMD执行,然后执行mpirun-app my_appfile。下面是我的应用程序文件的外观 -np 12 /path/to/executable /path/to/dir1/input1 -np 12 /path/to/executable /path/to/dir2/input2 -np 12

我正在尝试编写一个shell脚本来执行某种算法,其中一部分需要跨网格引擎集群上的多个输入文件并行执行MPI可执行文件。从我读到的内容来看,mpirun似乎通过使用冒号或使用应用程序上下文/模式文件支持MPMD执行,然后执行mpirun-app my_appfile。下面是我的应用程序文件的外观

-np 12 /path/to/executable /path/to/dir1/input1
-np 12 /path/to/executable /path/to/dir2/input2
-np 12 /path/to/executable /path/to/dir3/input3
...
-np 12 /path/to/executable /path/to/dir10/input10
我试图并行执行同一可执行文件的10个实例,并在SGE的orte并行环境中相应地分配集群中的资源


然而,有一个问题。编写每个输入文件是为了在与每个特定输入文件相同的目录中生成输出。当我提交作业时,提交脚本只包含mpirun-app my_appfile行,它只显示dir1中input1的输出,而不显示其余部分。所以我想知道这里的问题是什么。这是mpirun选项的问题还是集群如何完成任务的问题?任何帮助都将不胜感激。谢谢大家!

我们需要信息来尝试和帮助:1工作的状态是什么,即qstat-j的输出?2如果您请求更少的内核,这是否也会失败?3尝试并仅启动2个实例。这样行吗?4集群的一般规格是什么?基本上,尝试收集尽可能多的信息,并将其发布在这里。很好,你问了一个具体的问题,但无论什么时候问这样的问题,你都需要提供尽可能多的信息,并表明你已经尝试了许多不同的途径,这有助于我们解决问题。嗨@文斯,我真的很感谢你的帮助。我尝试了很多变通方法来调整SGE方面的内容,但是我尝试的所有方法都没有像我预期的那样有效,但是我找到了将内容封装到一个提交脚本中的方法。因此,我编写了一个python脚本来提取$PE_HOSTFILE并写入10个较小的MPI节点文件,然后使用shell的for循环在后台提交mpirun的每个实例以及相应的节点文件,这样就可以了!无论如何,非常感谢你所做的一切!我学到了很多关于SGE的知识!StackOverflow确实是一个伟大的社区!:很高兴听到这个问题得到解决:如果你有时间,提交你的解决方案作为这个问题的答案。它肯定会在将来帮助别人。