سؤال

As stated in the question, what is the command that lists the current version of MPICH? I am running CentOS.

هل كانت مفيدة؟

المحلول

The command you run to start your application with MPICH is mpiexec, so the way to check the version is:

mpiexec --version

نصائح أخرى

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

There is a string called MPICH_VERSION in mpi.h that is set to the version. Cray, for example, provides their own application launcher so there isn't the standard set of executables already mentioned for querying the MPICH version.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top