As stated in the question, what is the command that lists the current version of MPICH? I am running CentOS.
5 Answers
Well for me it was 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
I find that mpichversion
, which is found in the directory as mpicc
, provides very useful information. For example, on my laptop, it displays:
$ 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
Note that I reformatted the output slightly (I added whitespace, nothing else) so that it would fit nicely into the fixed column format without requiring a slider.
Note that this provides less information than the previously suggested mpiexec --version
, but the configure flags are given in a slightly less useful format, at least for my purposes (copy-and-paste into new configure invocation).
$ 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
(I did not reformat this output.)
One benefit of mpichversion
is that, because it is specific to MPICH (and possibly some MPICH derivatives), you can write a more specific parser for it. I do not know what, if any, information is available from mpiexec --version
for OpenMPI or other non-MPICH MPI implementations.
Depending on your rights, you can check yum
(or sudo yum
):
$> yum info mpich2
...
Name : mpich2
Arch : x86_64
Version : 1.2.1
Release : 2.3.el6
Size : 3.7 M
Repo : base
...
shows the relevant section on my machine. Repo : base
would be Repo : installed
for the version you have installed.
Or you can check mpirun
or mpiexec
:
$> mpirun --version
mpirun (Open MPI) 1.6.3
$prog --version
where$prog
is whatever name you call MPICH with. – icedwatermpich
the command you use? Then I would trympich -v
,mpich --version
or evenmpich --help
to find out more. – icedwater