以编程方式确定 MPI 实现

Determining MPI implementation programmatically

/path/to/mpi/bin在我的PATH。然后我可以调用例如mpiccmpiexec。如果我现在想以编程方式确定我正在处理哪个 MPI 实现(例如 OpenMPI、MPICH),我该怎么做?

目前我得到的解决方案是 grep 在例如mpiexec --version.

具体来说,我需要区分 OpenMPI 和 MPICH,但是一个通用的解决方案当然会更好。

你可以用 MPI_Get_library_version