Je compile mon code sur un serveur qui a OpenMPI, mais j'ai besoin de savoir sur quelle version je suis pour pouvoir lire la documentation appropriée. Y a-t-il une constante dans <mpi.h>
que je peux imprimer pour afficher ma version actuelle?
Avec OpenMPI, la chose la plus simple à faire est d'exécuter ompi_info
; les premières lignes vous donneront les informations que vous souhaitez. Dans votre propre code, si cela ne vous dérange pas quelque chose de spécifique à OpenMPI, vous pouvez regarder use OMPI_MAJOR_VERSION
, OMPI_MINOR_VERSION
, et OMPI_RELEASE_VERSION
en mpi.h. Cela ne fonctionnera évidemment pas avec MPICH2 ou d'autres implémentations MPI.
Plus standard, dans le cadre de MPI-3, il y aura une norme MPI appelée MPI_Get_library_version qui vous donnera des informations détaillées sur la bibliothèque au moment de l'exécution. C'est assez petit et assez utile pour que les versions plus récentes des implémentations MPI l'auront très rapidement - par exemple, elles se trouvent dans le tronc de développement OpenMPI 1.7 - mais cela ne vous aide pas vraiment aujourd'hui.
Comme expliqué dans ce tutoriel , vous pouvez également vérifier la version MPI exécutant la commande:
mpiexec --version
ou
mpirun --version
dans votre terminal.
Je ne connais pas OpenMPI mais MPI a une fonction MPI Get_Version, veuillez vérifier votre mpi.h pour des fonctions similaires.