问题标签 [openmpi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
17003 浏览

mpi - 如何确定套接字/节点本地的 MPI 等级/进程号

比如说,我使用 MPI 运行一个并行程序。执行命令

共启动 8 个进程。即每个节点 2 个进程,总共 4 个节点。(OpenMPI 1.5)。其中一个节点包含 1 个 CPU(双核)并且节点之间的网络互连是 InfiniBand。

现在,可以通过以下方式确定等级编号(或进程编号)

这将返回一个介于 0 和 7 之间的数字。

但是,如何确定节点号(在本例中为 0 到 3 之间的数字)和节点内的进程号(0 到 1 之间的数字)?

0 投票
1 回答
1687 浏览

mpi - Mpirun:如何仅打印一个进程的 STDOUT?

跑步时

两个进程的 STDOUT 流被组合并由 shell 显示。在这种交错格式中,很难分辨哪条线来自哪个节点。

有没有办法让 mpirun 将一个进程的 STDOUT 合并到它的 STDOUT 流中?

0 投票
2 回答
1237 浏览

performance - 内存注册限制和 Open MPI

当我运行我的程序时,我从 Open MPI 收到此警告:

我检查了 Open MPI FAQ,他们解释了如何解决它。我的问题是:程序一直运行到最后,这个警告会影响效率还是结果?如果 Open MPI 没有足够的锁定内存,它会如何处理呢?


编辑:

他们告诉我这是 OpenFabrics 的 InfiniBand 软件打印的警告。但是,我没有使用打印此错误的软件,因为我在未连接到 InfiniBand 结构的单个节点上运行代码(我从阅读 Open MPI 常见问题解答中不明白这一点)。

0 投票
1 回答
2304 浏览

c++ - 将 OpenMPI 配置为在单台机器上运行 (Debian/Linux)

我已经在我的 Ubuntu 11.04 机器上安装了 OpenMPI。

我的理解是,我打字mpirun,魔术就会发生。

我不明白的是如何配置mpirun以使这种魔术仅在我机器的两个内核上发生。

如何将 OpenMPI 配置为在使用多个内核的单台机器上运行?

0 投票
1 回答
1611 浏览

mpi - 如何以“串行”模式编译 MPI 应用程序(不使用 MPI 编译器)?

这个问题可能听起来有点奇怪……

想象一下,我有一个 MPI 应用程序,但我没有安装 MPI 的系统。所以我想在不修改源代码的情况下编译不支持 MPI(1 进程、1 线程)的应用程序。那可能吗?

我在某个地方找到了一个“mimic_mpi.h”包装器,它应该完全符合我的要求。但是那里缺少一些 MPI 函数(例如,MPI_Cart_create、MPI_Cart_get 等),所以我没有成功。

mimic_mpi.h http://openmx.sourcearchive.com/documentation/3.2.4.dfsg-3/mimic__mpi_8h-source.html

mimic_mpi.c http://openmx.sourcearchive.com/documentation/3.2.4.dfsg-3/mimic__mpi_8c-source.html

你知道我可以用什么其他方法来编译不支持 MPI 的 MPI 应用程序吗?

提前致谢!

0 投票
2 回答
4444 浏览

c++ - 如何使用 Visual Studio 2010 在 Windows 上使用 Open MPI 构建 boost::mpi 库

我安装了 Open MPI 1.5.4(64 位)并尝试使用 bjam 重建 boost 库(1.48)。

我更改了 user-config.jam 文件,通过添加使用带有显式编译器路径的 mpi 行(尽管 mpic++ 已经在 PATH 环境变量中):

然后我尝试从命令提示符运行以下命令:

不幸的是,构建过程仍然需要更多提示。部分错误报告如下所示:

有没有人设法在 Windows 下使用 Open MPI 编译 Boost MPI?我错过了什么吗?

0 投票
4 回答
6827 浏览

xcode - 如何使用 xcode 4 编译 openmpi 程序?

我正在使用狮子和 xcode 4.2。我使用 macports 安装了 openmpi。全部安装成功。

但是,我找不到指南来告诉我如何/包含哪些库来编译示例(见下文)

Xcode 报告缺少 mpi.h。

0 投票
2 回答
448 浏览

fortran - MPI_TYPE_CONTIGUOUS 不能与包含 real(8) 的自定义类型一起正常工作

我在定义 mpi_type_contiguous 和稍后使用 mpi_gatherv 时遇到了一个奇怪的问题。类型定义为:

现在的代码不起作用。如果我要发表评论integer :: ciref,它会起作用。如果我real(8) :: rvar改为注释并取消注释其他两个整数,情况也是如此integer :: iref, biref

这意味着错误取决于数据类型的大小,但前提是其中有 a real(8)。如果我有一个real(8)和两个,int那么它会再次起作用。

该代码设计为使用 3 个线程(!)运行。我用 openmpi 和 gfortran (mpif90) 运行它。没有特殊的编译标志和使用mpirun -np 3 filename. 如果有人可以用 mpich 运行它或用 ifort 或任何有趣的东西编译它,以便找出问题出在哪里。

- - 编辑 - -

Platinummonkey 建议在下面使用mpi_type_struct,但它仍然不起作用。如果我sizeof(glist)像上面那样使用 glist,我会得到 16 而不是 12 作为答案。

- - /编辑 - -

在此先感谢您的帮助。

完整的代码是(不要担心其中一些可以忽略)

0 投票
2 回答
1073 浏览

c - OpenMPI 挂起三个节点

您好:我只是为我设置了一个 OpenMPI 环境,其中我已经设置了三个使用无密码身份验证等的虚拟机。我有一个简单的“Hello World”风格的程序成功编译/链接:

我观察到的是,当我在“机器文件”中拥有三个不同节点的主机名时,作业就会挂起。每个单独的节点都运行良好 - 我也尝试了两个节点的组合(即三个节点中的任意两个),它工作正常。所以,我可以忽略任何节点不工作的可能性。

我怎样才能对此进行更多调查?谢谢!

0 投票
2 回答
1799 浏览

compiler-construction - 编译一个使用 mpi (AGMG) 的库

我正在尝试编译库AGMG

并行示例的 make 文件如下所示:

在我的 Debian mpif.h 上找到:

所以我在 Makefile 中写道:

但是,当我尝试编译时,我得到以下错误:

我现在很困惑,我尝试过成功的尝试,但是我遇到了 scaplap 和其他要求的问题。发现鳞片:

mumps 在 /usr/lib/libsmumps.a 中找到,头文件在 /usr/include/smumps_c.h

那么我该如何把所有这些放在一起呢?

我知道对于更高级的 fortran 或 C 开发人员来说,这将是微不足道的......

在此先感谢您的帮助。

编辑:我把完整的 Makefile 定义放在这里,希望它可以帮助其他人:

这构建了它。感谢您的回复!