你如何检查OpenMPI的版本?

时间:2012-04-07 17:57:12

标签: openmpi

我在具有OpenMPI的服务器上编译我的代码,但我需要知道我在哪个版本上,所以我可以阅读正确的文档。 <mpi.h>中是否有常量可以打印以显示当前版本?

4 个答案:

答案 0 :(得分:15)

使用OpenMPI,最简单的方法是运行ompi_info;前几行将为您提供所需的信息。在您自己的代码中,如果您不介意特定于OpenMPI的内容,可以在mpi.h中查看使用OMPI_MAJOR_VERSIONOMPI_MINOR_VERSIONOMPI_RELEASE_VERSION。这显然不适用于MPICH2或其他MPI实现。

更为标准的是,作为MPI-3的一部分,将有一个名为MPI_Get_library_version的标准MPI例程,它在运行时为您提供详细的库信息。这个足够小并且非常有用,以至于新版本的MPI实现可以非常快速地实现这一点 - 例如它在OpenMPI 1.7开发中心 - 但它今天并没有真正帮助你。

答案 1 :(得分:9)

this tutorial中所述,您还可以检查运行命令的MPI版本:

mpiexec --version

mpirun --version

在您的终端。

答案 2 :(得分:3)

我不熟悉OpenMPI但是MPI有一个MPI Get_Version函数,请检查你的mpi.h是否有类似的功能。

答案 3 :(得分:1)

您还可以获取编译器包装器(例如mpicxx / mpic++ / mpicc / mpifort)提供的OpenMPI版本:

mpicxx --showme:version

如果(出于任何原因)您具有不同版本的MPI编译器包装程序和执行程序,这将很有用。

mpicxx --showme还会向您显示MPI的安装位置以及编译器标志的使用,有关更多信息,请参见manual。)