如何查看 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 -v
、mpich --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/guidesinvalid "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
。
或者你可以查看mpirun
或mpiexec
:
$> mpirun --version
mpirun (Open MPI) 1.6.3
【讨论】:
这里只是一个简短的说明,最新版本的 MPICH 不再称为 MPICH2,而是称为 MPICH。一些包管理器仍然使用旧名称,但最近的更新可能不匹配。【参考方案5】:在 mpi.h 中有一个名为 MPICH_VERSION 的字符串设置为版本。例如,Cray 提供了他们自己的应用程序启动器,因此没有已经提到的用于查询 MPICH 版本的标准可执行文件集。
【讨论】:
以上是关于如何查看 MPICH 的版本?的主要内容,如果未能解决你的问题,请参考以下文章