如何查看 MPICH 的版本?

Posted

技术标签:

【中文标题】如何查看 MPICH 的版本?【英文标题】:How do I check the version of MPICH? 【发布时间】:2013-06-25 18:11:49 【问题描述】:

如问题所述,列出当前 MPICH 版本的命令是什么?我正在运行 CentOS。

【问题讨论】:

尝试阅读手册页。我首选的第一个猜测是$prog --version,其中$prog 是您调用 MPICH 的任何名称。 当我执行 man mpich 时,它显示“没有手动输入 mpich” 您是否安装了文档包? mpich 是您使用的命令吗?然后我会尝试mpich -vmpich --version 甚至mpich --help 来了解更多信息。 我能理解这种困惑。 MPICH(连同 MPI 的所有其他实现)不会生成名为 mpich 的可执行文件,而是创建 mpirun/mpiexec/许多其他东西,其中没有一个名为 mpich。 【参考方案1】:

使用 MPICH 启动应用程序的命令是mpiexec,所以查看版本的方法是:

mpiexec --version

【讨论】:

如果您不熟悉如何使用 MPI(或特别是 MPICH),有很多不错的网站可以找到教程。有关如何编译和运行程序的详细信息,请从 MPICH src 目录中的 README 开始。如果您从包管理器(如 yum、apt-get、brew 等)安装,您可以在 MPICH 网站上找到该信息:mpich.org/documentation/guides invalid "local" arg: --version @Mr_and_Mrs_D,您使用的哪个 MPI 实现不支持 --version 安装在学校 linux 实验室的那个 - 即不确定 :) 见我的回答 below 如果两者都安装了,这可能会为您提供 openmpi 版本。所以下面的答案也许应该是首选。【参考方案2】:

对我来说是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

【讨论】:

哇。这看起来像是一个令人难以置信的旧版本的 MPICH。确实,每个实现都不同,但对于最新版本的 MPICH 和 Open MPI 及其所有衍生版本,您应该可以只说 mpiexec --version。例如,如果您在相对较新的 Open MPI (1.4.3) 版本上说 mpicc -v,您将获得 GCC 的版本信息,因为参数刚刚通过。在 MPICH 上,您仍会看到 MPICH 的版本信息,因为它获取了该标志。【参考方案3】:

我发现mpichversion(位于mpicc 目录中)提供了非常有用的信息。例如,在我的笔记本电脑上,它显示:

$ 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

请注意,我稍微重新格式化了输出(我添加了空格,没有其他内容),以便它可以很好地适应固定列格式而无需滑块。

请注意,这提供的信息比之前建议的 mpiexec --version 少,但配置标志的用处稍小,至少出于我的目的(复制并粘贴到新的配置调用中)。

$ 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

(我没有重新格式化此输出。)

mpichversion 的一个好处是,因为它特定于 MPICH(可能还有一些 MPICH 派生词),所以您可以为它编写更具体的解析器。我不知道 mpiexec --version 提供的有关 OpenMPI 或其他非 MPICH MPI 实现的信息(如果有的话)。

【讨论】:

【参考方案4】:

根据您的权利,您可以查看yum(或sudo yum):

$> yum info mpich2
...
Name        : mpich2
Arch        : x86_64 
Version     : 1.2.1
Release     : 2.3.el6
Size        : 3.7 M
Repo        : base
...

显示我机器上的相关部分。对于您安装的版本,Repo : base 将是 Repo : installed

或者你可以查看mpirunmpiexec

$> mpirun --version
mpirun (Open MPI) 1.6.3

【讨论】:

这里只是一个简短的说明,最新版本的 MPICH 不再称为 MPICH2,而是称为 MPICH。一些包管理器仍然使用旧名称,但最近的更新可能不匹配。【参考方案5】:

在 mpi.h 中有一个名为 MPICH_VERSION 的字符串设置为版本。例如,Cray 提供了他们自己的应用程序启动器,因此没有已经提到的用于查询 MPICH 版本的标准可执行文件集。

【讨论】:

以上是关于如何查看 MPICH 的版本?的主要内容,如果未能解决你的问题,请参考以下文章

如何查看perl的版本信息

MPICH:如何publish_name 以便客户端应用程序可以lookup_name 呢?

如何查看当前Ubuntu系统的版本

如何查看当前Ubuntu系统的版本

如何查看linux版本

如何查看已安装的 CentOS 版本信息