6

我的 MPI 程序如何检测它是作为独立应用程序启动还是通过 mpirun 启动的?

4

2 回答 2

2

考虑到 semiuseless 和 Hristo Iliev 的回答和评论,没有通用且可移植的方法来做到这一点。作为一种解决方法,您可以检查 mpirun 设置的环境变量。参见例如:
http ://www.open-mpi.org/faq/?category=running#mpi-environmental-variables

于 2012-10-01T18:10:02.423 回答
2

没有 MPI 标准方法来区分直接启动的 MPI 应用程序或作为单个级别与 mpirun 启动的 MPI 应用程序之间的区别。有关此类 MPI 作业的更多信息, 请参阅“ Singleton MPI_Init ”。

来自 Douglas 的环境变量检查答案是一个合理的 hack……但不能移植到任何其他 MPI 实现。

于 2012-10-01T21:48:03.843 回答