2012-04-07 8 views
11

Estoy compilando mi código en un servidor que tiene OpenMPI, pero necesito saber en qué versión estoy para poder leer la documentación adecuada. ¿Hay una constante en <mpi.h> que pueda imprimir para mostrar mi versión actual?¿Cómo se comprueba la versión de OpenMPI?

Respuesta

11

Con OpenMPI, lo más fácil es ejecutar ompi_info; las primeras líneas le darán la información que desea. En su propio código, si no le importa algo específico de OpenMPI, puede consultar el uso de OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION y OMPI_RELEASE_VERSION en mpi.h. Obviamente, esto no funcionará con MPICH2 u otras implementaciones de MPI.

De manera más estándar, como parte de MPI-3, habrá una rutina MPI estándar llamada MPI_Get_library_version que le brindará información detallada de la biblioteca en tiempo de ejecución. Esto es lo suficientemente pequeño y útil como para que las versiones más recientes de las implementaciones de MPI tengan esto muy rápidamente, por ejemplo, está en el tronco de desarrollo OpenMPI 1.7, pero realmente no lo ayuda hoy.

+0

Esto es exactamente lo que estaba buscando. MPI_Get_version (* int, * int) le permite saber a qué versión del estándar MPPI se apega OpenMPI, no la versión de lanzamiento real de OpenMPI. – Zak

3

No soy familiar con OpenMPI pero MPI tiene una función MPI_Get_Version, por favor revise su mpi.h para funciones similares.

+0

Eso es un comienzo, pero solo da la versión del estándar al que se ajusta la biblioteca MPI; por ejemplo, la mayoría de las implementaciones de MPI hoy devolverán 2 y 1 (o 0) para las versiones mayor/menor, pero no permite distinguir entre (por ejemplo) OpenMPI 1.4.4 y OpenMPI 1.5.3. Lo primero es ciertamente importante cuando escribe código, pero este último tipo de información puede ser muy importante si está tratando de resolver un problema de implementación o configuración. –

+0

Gracias por este comentario, la información devuelta por MPI_Get_version (* int, * int) junto con el sitio web de MPI http://www.mpi-forum.org/docs/ ¡es la clave para toneladas de información! – Zak

1

Como se explica en this tutorial, también puede comprobar la versión MPI ejecutando el comando:

mpiexec --version 

o

mpirun --version 

en su terminal.

Cuestiones relacionadas