问题标签 [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 投票
1 回答
665 浏览

gcc - Netbeans 构建失败(如何将其指向我的新 Open MPI 库?)

我正在 OS X 上使用 Netbeans 进行 C 开发,但我的项目无法构建,并指出“...Open MPI 的此安装未在 Fortran 90 支持下编译”

我已经安装了更新的 gcc 和 Open MPI(与默认版本一起),我可以通过命令行上的 make 使用它们进行构建。这让我相信 Netbeans 正在使用默认的 Open MPI 安装(它没有 fortran 支持)。如果我是正确的,我如何让它使用新安装?我通过工具集合管理器(文件->项目属性->构建->工具集合->[...])告诉 Netbeans 其他编译器。但是,我不知道如何告诉它有关 Open MPI 的信息。

0 投票
2 回答
1914 浏览

macos - 在一台机器上的 OS X 上使用 mpirun

mpirun在 OS X 上以单机模式使用时遇到问题。使用运行我的程序时,mpirun -np 5 my_program我得到以下错误输出:

显然,默认情况下mpirun用于rsh连接到机器。我尝试ssh改用,但没有帮助:

然后,我尝试使用共享内存 ( sm) BTL,但也无济于事:

最后,我尝试使用机器文件来指定我只想使用localhost,这也没有帮助:

在这里,machinefile.local仅包含localhost(单个)第一行。

在上述所有情况下,我都会收到上述超时错误。

另外,我确认我的 Mac OS X 防火墙没有运行,我可以通过 ssh 进入我的机器。

0 投票
4 回答
8476 浏览

c - OpenMPI MPI_Barrier 问题

我在使用 MPI_Barrier 的 OpenMPI 实现时遇到了一些同步问题:

对于 mpirun -n 2 ./a.out

输出应该是:P0 P1 ...

输出有时是:再次 P0 P0 再次 P1 P1

这是怎么回事?

0 投票
2 回答
5111 浏览

mpi - 建议一个基准程序来比较 MPICH 和 OpenMPI

我是 HPC 新手,手头的任务是在一个集群上对 MPICH 和 OpenMPI 进行性能分析和比较,该集群由运行在 ClusterVisionOS 上的配备双核 AMD Opteron 处理器的 IBM 服务器组成。

我应该选择哪个基准程序来比较 MPICH 和 OpenMPI 实现?

我不确定高性能 Linpack Benchmark 是否可以提供帮助,因为我没有尝试测量集群本身的性能.. 请建议..

谢谢

0 投票
1 回答
2522 浏览

mpi - MPICH/OpenMPI 中的容错

我有两个问题-

Q1。除了检查点/回滚之外,还有更有效的方法来处理 MPI 中的错误情况吗?我看到如果一个节点“死亡”,程序会突然停止。有没有办法在节点死亡后继续执行?(如果以准确性为代价,则没有问题)

Q2。我在“http://stackoverflow.com/questions/144309/what-is-the-best-mpi-implementation”中读到,OpenMPI 具有更好的容错性,最近 MPICH-2 也提出了类似的功能..有人知道它们是什么以及如何使用它们吗?是“模式”吗?他们可以在第一季度所述的情况下提供帮助吗?

请回复。谢谢你。

0 投票
2 回答
858 浏览

macos - 用 openmpi 编译 meep

我正在尝试在具有 Corei7 处理器的 iMac 上使用 OpenMPI 从 MIT构建meep 。我使用 macport 安装了 OpenMPI。

我还用 OpenMPI 安装了 hdf5。

现在,当我尝试使用 mpi 编译 meep 时--with-mpi,meep 无法编译并给出以下错误消息。

我不明白出了什么问题。我正在按照 meep 网站上的说明进行操作。并行 MeepMeep 安装

请帮忙。

0 投票
1 回答
2190 浏览

c - MPI_Isend 和 MPI_Irecv 似乎导致了死锁

我在 MPI 中使用非阻塞通信在进程之间发送各种消息。但是,我似乎陷入了僵局。我使用 PADB(请参见此处)查看消息队列并得到以下输出:

这似乎表明发送已完成,但所有接收都处于挂起状态(以上只是标记值为 16 的日志的一小部分)。然而,这怎么可能发生呢?如果没有相关的接收完成,发送肯定无法完成,因为在 MPI 中,所有发送和接收都必须匹配。至少我是这么认为的……

任何人都可以提供任何见解吗?

我可以提供我用来执行此操作的代码,但是无论调用它们的顺序如何,Isend 和 Irecv 肯定都应该工作,假设 MPI_Waital 在最后被调用。

更新:代码在这个要点上可用

更新:我对代码进行了各种修改,但仍然不能正常工作。新代码是相同的 gist,我得到的输出就是这个 gist。我对此代码有很多疑问/问题:

  1. 当我在它之前有一个 MPI_Barrier() 以确保在打印之前完成所有工作时,为什么最终循环的输出(打印所有数组)与其余输出穿插在一起?

  2. 从 0 级发送到 0 级是可能/明智的 - 可以吗?(当然,假设发布了正确的匹配接收)。

  3. 我在输出中得到了很多非常奇怪的长数字,我认为这是某种内存覆盖问题或变量大小问题。有趣的是,这一定是由 MPI 通信引起的,因为我将 new_array 初始化为 9999.99 的值,而通信显然导致它被更改为这些奇怪的值。任何想法为什么?

总体而言,似乎发生了一些转置(矩阵的位似乎被转置了......),但绝对不是全部 - 正是这些奇怪的数字即将出现让我最担心!

0 投票
1 回答
3783 浏览

c - 使用 MPI_Type_create_subarray 发送时可以转置数组吗?

我正在尝试使用 C 中的 MPI 转置矩阵。每个进程都有一个方形子矩阵,我想将其发送到正确的进程(网格上的“相反”进程),并将其作为通信的一部分进行转置。

我正在使用MPI_Type_create_subarraywhich 有一个订单参数,MPI_ORDER_C或者MPI_ORDER_FORTRAN分别是行优先和列优先。我认为如果我作为其中之一发送,作为另一个接收,那么我的矩阵将作为通信的一部分被转置。然而,这似乎并没有发生 - 它只是保持非转置。

代码的重要部分如下,整个代码文件可在此 gist中获得。有谁知道为什么这不起作用?这种转置方法应该起作用吗?MPI_ORDER_C在阅读了and的描述后,我本以为会的MPI_ORDER_FORTRAN,但也许不是。

0 投票
1 回答
172 浏览

c - 运行时的“MPI_Bcast”er

在运行时决定广播者的情况下,如何进行 MPI_Bcast?在这种情况下如何指定根节点?

我正在尝试在数组中搜索不同的数字。如果一个节点找到该号码,那么它应该将其位置广播给所有其他节点。但是,由于我事先不知道查找器,因此“根”值应该是什么:

0 投票
1 回答
420 浏览

mpi - MPICH 和 OpenMPI 中的错误处理程序

除了 MPI_ERROR_RETURN 和 MPI_ERRORS_ARE_FATAL 之外,在 OpenMPI 和 MPICH 中是否实现了任何错误处理程序?哪个实现在处理错误方面更好?请建议一个链接以获取有关相同信息的更多信息..