问题标签 [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.
mpi - 如何确定套接字/节点本地的 MPI 等级/进程号
比如说,我使用 MPI 运行一个并行程序。执行命令
共启动 8 个进程。即每个节点 2 个进程,总共 4 个节点。(OpenMPI 1.5)。其中一个节点包含 1 个 CPU(双核)并且节点之间的网络互连是 InfiniBand。
现在,可以通过以下方式确定等级编号(或进程编号)
这将返回一个介于 0 和 7 之间的数字。
但是,如何确定节点号(在本例中为 0 到 3 之间的数字)和节点内的进程号(0 到 1 之间的数字)?
mpi - Mpirun:如何仅打印一个进程的 STDOUT?
跑步时
两个进程的 STDOUT 流被组合并由 shell 显示。在这种交错格式中,很难分辨哪条线来自哪个节点。
有没有办法让 mpirun 将一个进程的 STDOUT 合并到它的 STDOUT 流中?
performance - 内存注册限制和 Open MPI
当我运行我的程序时,我从 Open MPI 收到此警告:
我检查了 Open MPI FAQ,他们解释了如何解决它。我的问题是:程序一直运行到最后,这个警告会影响效率还是结果?如果 Open MPI 没有足够的锁定内存,它会如何处理呢?
编辑:
他们告诉我这是 OpenFabrics 的 InfiniBand 软件打印的警告。但是,我没有使用打印此错误的软件,因为我在未连接到 InfiniBand 结构的单个节点上运行代码(我从阅读 Open MPI 常见问题解答中不明白这一点)。
c++ - 将 OpenMPI 配置为在单台机器上运行 (Debian/Linux)
我已经在我的 Ubuntu 11.04 机器上安装了 OpenMPI。
我的理解是,我打字mpirun
,魔术就会发生。
我不明白的是如何配置mpirun
以使这种魔术仅在我机器的两个内核上发生。
如何将 OpenMPI 配置为在使用多个内核的单台机器上运行?
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 应用程序吗?
提前致谢!
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?我错过了什么吗?
xcode - 如何使用 xcode 4 编译 openmpi 程序?
我正在使用狮子和 xcode 4.2。我使用 macports 安装了 openmpi。全部安装成功。
但是,我找不到指南来告诉我如何/包含哪些库来编译示例(见下文)
Xcode 报告缺少 mpi.h。
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 作为答案。
- - /编辑 - -
在此先感谢您的帮助。
完整的代码是(不要担心其中一些可以忽略)
c - OpenMPI 挂起三个节点
您好:我只是为我设置了一个 OpenMPI 环境,其中我已经设置了三个使用无密码身份验证等的虚拟机。我有一个简单的“Hello World”风格的程序成功编译/链接:
我观察到的是,当我在“机器文件”中拥有三个不同节点的主机名时,作业就会挂起。每个单独的节点都运行良好 - 我也尝试了两个节点的组合(即三个节点中的任意两个),它工作正常。所以,我可以忽略任何节点不工作的可能性。
我怎样才能对此进行更多调查?谢谢!
compiler-construction - 编译一个使用 mpi (AGMG) 的库
我正在尝试编译库AGMG。
并行示例的 make 文件如下所示:
在我的 Debian mpif.h 上找到:
所以我在 Makefile 中写道:
但是,当我尝试编译时,我得到以下错误:
我现在很困惑,我尝试过成功的尝试,但是我遇到了 scaplap 和其他要求的问题。发现鳞片:
mumps 在 /usr/lib/libsmumps.a 中找到,头文件在 /usr/include/smumps_c.h
那么我该如何把所有这些放在一起呢?
我知道对于更高级的 fortran 或 C 开发人员来说,这将是微不足道的......
在此先感谢您的帮助。
编辑:我把完整的 Makefile 定义放在这里,希望它可以帮助其他人:
这构建了它。感谢您的回复!