【问题标题】:How do I check the version of MPICH?如何查看 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。

标签: mpi 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 版本的标准可执行文件集。

    【讨论】:

      猜你喜欢
      • 2014-02-18
      • 2021-07-03
      • 2018-08-27
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 2020-10-25
      • 2011-04-18
      相关资源
      最近更新 更多