2012-04-07 2 views
11

OpenMPI가있는 서버에서 코드를 컴파일하고 있지만 적절한 문서를 읽을 수 있도록 현재 어떤 버전인지 알고 있어야합니다. 현재 버전을 표시하기 위해 인쇄 할 수있는 상수가 <mpi.h>에 있습니까?OpenMPI의 버전을 어떻게 확인합니까?

답변

11

OpenMPI를 사용하면 가장 쉬운 방법은 ompi_info을 실행하는 것입니다. 처음 몇 줄은 당신에게 원하는 정보를 줄 것입니다. 자신의 코드에서 OpenMPI와 관련이 없으면 mpi.h에 OMPI_MAJOR_VERSION, OMPI_MINOR_VERSIONOMPI_RELEASE_VERSION을 사용할 수 있습니다. 분명히 MPICH2 또는 다른 MPI 구현에서는 작동하지 않습니다.

보다 표준 적으로, MPI-3의 일부로, 실행시 자세한 라이브러리 정보를 제공하는 MPI_Get_library_version이라는 표준 MPI 루틴이 있습니다. 이것은 충분히 작아서 최신 버전의 MPI 구현이 매우 신속하게 구현됩니다 (예 : OpenMPI 1.7 개발 트렁크에 있음). 그러나 실제로는 도움이되지 않습니다.

+0

이것이 내가 원하는 것입니다. MPI_Get_version (* int, * int)은 OpenMPI의 실제 릴리스 버전이 아닌 OpenMPI가 준수하는 MPI 표준 버전을 알려줍니다. – Zak

3

저는 OpenMPI에 익숙하지 않지만 MPI에는 MPI_Get_Version 기능이 있습니다. mpi.h에서 유사한 기능을 확인하십시오. this tutorial 설명

+0

시작되었지만 MPI 라이브러리가 준수하는 표준 버전 만 제공합니다. 예를 들어 오늘날 대부분의 MPI 구현은 주요/부 버전의 경우 2와 1 (또는 0)을 반환하지만 OpenMPI 1.4.4와 OpenMPI 1.5.3을 구분할 수는 없습니다. 전자는 코드를 작성할 때 매우 중요하지만 구현 또는 구성 문제를 해결하려는 경우 후자의 정보가 매우 중요 할 수 있습니다. –

+0

MPI 웹 사이트 http://www.mpi-forum.org/docs/와 결합 된 MPI_Get_version (* int, * int)에 의해 반환 된 정보가 수많은 정보의 열쇠입니다! – Zak

1

으로, 당신은 또한 명령을 실행하는 MPI 버전을 확인할 수 있습니다

mpiexec --version 

또는

mpirun --version 

을 터미널에.

관련 문제