Comme indiqué dans la question, quelle est la commande qui répertorie la version actuelle de MPICH? Je cours CentOS.
La commande que vous exécutez pour démarrer votre application avec MPICH est mpiexec
. Le moyen de vérifier la version est donc:
mpiexec --version
Eh bien pour moi c'était mpicc -v
mpicc for 1.1.1p1
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-checking=release --build=i486-linux-gnu --Host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu4)
HTH
Je trouve que mpichversion
, qui se trouve dans le répertoire sous le nom mpicc
, fournit des informations très utiles. Par exemple, sur mon ordinateur portable, il affiche:
$ mpichversion
MPICH Version: 3.2b1
MPICH Release date: unreleased development copy
MPICH Device: ch3:nemesis
MPICH configure: CC=gcc-4.9 CXX=g++-4.9 FC=gfortran-4.9 F77=gfortran-4.9
--enable-cxx --enable-fortran --enable-threads=runtime
--enable-g=dbg --with-pm=hydra
--prefix=/opt/mpich/dev/gcc/default
--enable-wrapper-rpath --enable-static --enable-shared
MPICH CC: gcc-4.9 -g -O2
MPICH CXX: g++-4.9 -g -O2
MPICH F77: gfortran-4.9 -g -O2
MPICH FC: gfortran-4.9 -g -O2
Notez que j'ai légèrement reformaté la sortie (j'ai ajouté des espaces, rien d'autre) pour qu'elle s'intègre parfaitement au format de colonne fixe sans nécessiter de curseur.
Notez que cela fournit moins d'informations que le mpiexec --version
suggéré précédemment, mais que les indicateurs de configuration sont donnés dans un format légèrement moins utile, du moins pour mes besoins (copier-coller dans une nouvelle invocation de configuration).
$ mpiexec --version
HYDRA build details:
Version: 3.2b1
Release Date: unreleased development copy
CC: gcc-4.9
CXX: g++-4.9
F77: gfortran-4.9
F90: gfortran-4.9
Configure options: '--disable-option-checking' '--prefix=/opt/mpich/dev/gcc/default' 'CC=gcc-4.9' 'CXX=g++-4.9' 'FC=gfortran-4.9' 'F77=gfortran-4.9' '--enable-cxx' '--enable-fortran' '--enable-threads=runtime' '--enable-g=dbg' '--with-pm=hydra' '--enable-wrapper-rpath' '--enable-static' '--enable-shared' '--cache-file=/dev/null' '--srcdir=../../../../src/pm/hydra' 'CFLAGS= -g -O2' 'LDFLAGS= ' 'LIBS=-lpthread ' 'CPPFLAGS= -I/Users/jrhammon/Work/MPI/MPICH/git/build/src/mpl/include -I/Users/jrhammon/Work/MPI/MPICH/git/src/mpl/include -I/Users/jrhammon/Work/MPI/MPICH/git/src/openpa/src -I/Users/jrhammon/Work/MPI/MPICH/git/build/src/openpa/src -D_REENTRANT -I/Users/jrhammon/Work/MPI/MPICH/git/build/src/mpi/romio/include'
Process Manager: pmi
Launchers available: ssh rsh fork slurm ll lsf sge manual persist
Topology libraries available: hwloc
Resource management kernels available: user slurm ll lsf sge pbs cobalt
Checkpointing libraries available:
Demux engines available: poll select
(Je n'ai pas reformaté cette sortie.)
Un avantage de mpichversion
est que, comme il est spécifique à MPICH (et éventuellement à certains dérivés de MPICH), vous pouvez écrire un analyseur syntaxique plus spécifique. Je ne sais pas quelles informations, le cas échéant, sont disponibles dans mpiexec --version
pour OpenMPI ou d'autres implémentations non-MPICH MPI.
En fonction de vos droits, vous pouvez vérifier yum
(ou Sudo yum
):
$> yum info mpich2
...
Name : mpich2
Arch : x86_64
Version : 1.2.1
Release : 2.3.el6
Size : 3.7 M
Repo : base
...
affiche la section correspondante sur ma machine. Repo : base
serait Repo : installed
pour la version que vous avez installée.
Ou vous pouvez vérifier mpirun
ou mpiexec
:
$> mpirun --version
mpirun (Open MPI) 1.6.3
Il existe une chaîne appelée MPICH_VERSION dans mpi.h qui est définie sur la version. Cray, par exemple, fournit son propre programme de lancement d’applications, il n’existe donc pas le jeu standard d’exécutables déjà mentionné pour interroger la version de MPICH.