MPI fortran代码在另一个之上

时间:2014-02-05 15:15:08

标签: fortran mpi

我编写了一个MPI fortran程序,我需要多次运行(为了保持一致性,请调用此程序P1)。我可用于运行程序的最小核心数为512.问题是P1具有128核心的最佳可扩展性。 我想要做的是在P1之上创建另一个程序(P2),同时调用P1 4次,每个调用将在128个核心上。

基本上我需要同时运行4个调用实例,其中一些进程等于总处理器数除以4。

你认为有可能吗?我的问题是我不知道在哪里搜索这个。 我目前正在关注MPI小组和传播者,我是否遵循了实现目标的良好途径?

编辑: 系统调度程序是Loadleveler。当我提交作业时,我需要指定我需要多少个节点。节点有16个核心,我可以使用的最小节点数为32.在批处理中,我们还指定-np NBCORES,但如果我们这样做,即-np 128,则消耗的时间就像我们使用512个核心一样( 32个节点)即使作业在128个核心上运行..

1 个答案:

答案 0 :(得分:0)

由于你的答案,我能够做到这一点。 正如我后面提到的(sry for that),调度程序是Loadlever, 如果您有权访问子块模块,请按照以下方式进行操作:http://www.hpc.cineca.it/content/batch-scheduler-loadleveler-0#sub-block,如Hristo Iliev所述。 如果不这样做,您可以执行多步骤作业,并且两个步骤之间没有依赖关系,因此它们将同时执行。这是一个经典的多步骤作业,你只需删除任何@dependency标志(在Loadleveler的情况下)。