2012-10-01 37 views
4

如果MPI程序作为独立应用程序或通过mpirun启动,如何检测?我的程序如何检测,是否通过mpirun启动

+0

谢谢,我会这样做。 – fhucho

+0

你试图解决什么问题需要了解排名是如何启动的? –

+1

@semiuseless我们有一个任务来解决一些NP问题,首先是作为独立的单核心程序,然后是MPI集群。如果我只有一个二进制文件,我认为它会很简单。 – fhucho

回答

2

没有MPI标准的方式告诉大家,直接启动,或与一的mpirun单一等级的MPI应用程序之间的区别。有关此类MPI作业的更多信息,请参见“Singleton MPI_Init”。

从道格拉斯的环境变量检查答案是合理的黑客...但无法移植到其他MPI实现。

+0

是的,我也将环境变量的答案描述为黑客。我很惊讶没有更好的解决方案。 –

+2

@ DouglasB.Staple,MPI标准明确指出它没有指定MPI程序如何启动(§8.7和§8.8)。虽然§8.8_suggests_(但不强制)提供了一个名为“mpiexec”的启动器,并且_advises_实现者如何命名其命令行选项,但使用像mpirun这样的启动器来执行启动被认为是实现细节。 –

+0

@HristoIliev谢谢 - 我更新了我的答案,指出这是一种解决方法,考虑到您的评论和semiuseless的答案。 +1和+1。 –

相关问题