问题标签 [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 回答
1377 浏览

mpi - openMPI 主节点设置配置

我正在尝试使用 openMPI 设置一个相对较小的集群(36 核),但遇到了一个小问题。我已经安装并正确运行了所有 openMPI 库和任何依赖项(我可以在每台计算机上作为 localhost 运行一个 hello world MPI 程序)。问题是我似乎找不到太多关于如何让计算机一起执行程序的文档。我可以执行 mpirun --hostfile 命令,但我不想每次执行作业时都必须指定主机文件。此外,未来的用户不会一直访问集群上的所有 IP 地址。他们和我希望能够毫无问题地执行 mpirun -np 20 programFile。有人可以就我现在需要做的事情提供一些指导吗?公平地说,我 我在大学里只上过一节课,我们用 MPI 编写并行程序,但他们从未向我们展示如何使用 openMPI 设置新集群。我很感激你们能给的任何建议。我通过搜索找到了本指南MPICH_Cluster_Setup如果是 openMPI 那就太好了。是否有与 openMPI 相关的类似指南?

0 投票
2 回答
1169 浏览

openmpi - 使用 OpenMPI 进行数据分发

我想在使用 OpenMPI 的 TCP/IP 网络连接的多台机器上分发数据。任何人都可以指出正确的资源和方向。我是 OpenMPI 的新手。

谢谢

0 投票
1 回答
4599 浏览

bash - mpirun 命令在 bash 中显示奇怪的行为

我有一个快速的问题。

我最近尝试使用我学校的服务器运行 mpi 程序,但遇到了以下“奇怪”问题:

为了执行“mpirun”命令,我必须将其路径放入 .bashrc 中的默认路径中,然后输入:

只是得到一个关于缺少库的错误,名为:libmpi.so.0

但是,如果我尝试使用完整的 mpirun 路径运行程序,如下所示

一切都很好。

我检查了 openmpi 的常见问题,它说我需要将以下行放入我的 .bashrc

这实际上为我解决了问题,但我的问题仍未解决:

为什么会这样?

在此先感谢您的时间。

0 投票
2 回答
1049 浏览

fortran - mpirun 不使用两个节点

我在一个集群中工作,每个节点都有 16 个处理器。我的 Open MPI 版本是 1.5.3。我在 fortran 中编写了以下简单代码:

然后我编译代码:

并运行它

我的节点文件如下所示:

node1 和 node2 各重复 16 次。

我可以编译成功。当我为 -np 16 (所以只有一个节点)运行它时,它工作正常:每个从站都完成了它的任务,我在终端中得到了提示。但是当我尝试 -np 32 时,并不是所有的奴隶都完成了他们的工作,只有 16 个。

实际上有 32 个节点的程序并没有给我提示,所以我认为程序被堆叠在某个地方并且正在等待执行某些任务。

只要我在这个微不足道的问题上花了一些时间,我想收到你的任何评论。

谢谢。

0 投票
1 回答
300 浏览

parallel-processing - CPU 与 GPU 上的 MPI-2

我正在使用 MPI-2 并行化代码。当我使用 8 个核心处理器时,它成功地加速了。

我只是想知道如果我将 GPU 用于相同目的而不是 CPU 会有什么影响?根据我目前的研究,OpenMPI 与 GPU 兼容,只有在处理器间通信比 CPU 多的情况下,速度才会更好。有没有人尝试过,或者对此有什么看法?

0 投票
4 回答
65871 浏览

openmpi - 你如何检查 OpenMPI 的版本?

我正在具有 OpenMPI 的服务器上编译我的代码,但我需要知道我使用的是哪个版本,以便阅读正确的文档。是否有一个常量<mpi.h>可以打印以显示我的当前版本?

0 投票
2 回答
2422 浏览

openmpi - 自定义数据类型(MPI_Datatype 数据类型)?

MPI 中是否存在自定义数据类型之类的东西,或者您是否必须将所有内容展平为文本字符串并作为 MPI_CHAR 传递?如果您需要展平所有内容,是否有我忽略的内置功能?

0 投票
1 回答
291 浏览

openmpi - MPI - 如何处理不能被线程数整除的动态工作负载?

我注意到所有 MPI 调用都需要一定程度的对称性,否则它们会挂起和/或产生意想不到的结果。您如何处理动态问题或数据集?

我在网上找到的每个示例总是将问题分解成可均匀分割的块,或者在计算中使用代码块的重复。

假设我有 8 个线程可用,但我想做的工作以 57、80、99、64、13 等为单位......

是否有解决此类问题的首选方法?减少似乎需要线程之间对函数的平等调用?(即 57 将需要来自每个线程的 8 次调用,即使最后 7 次毫无意义) Scatter 似乎是相似的。有没有像 Scatter 这样的东西适用于非均匀整除的问题集?

0 投票
3 回答
1770 浏览

c++ - 如何使用 MPI 在不同的处理器上使用相同的阵列

我希望hist(1:1000)使用 OpenMPI 在不同的处理器上调用相同的数组,这样当一个处理器修改hist此修改时,其余处理器中就会更新。

我已经编写了代码并声明hist(1:1000)了但问题是hist在每个处理器上独立更新,然后我所做的是将数据发送到“主节点”以便根据从站的信息更新另一个直方图,但这是我不想要什么。我想在每个处理器上更新相同的直方图。

是否可以使用 OpenMPI 做到这一点?

0 投票
0 回答
861 浏览

c - MPI在集群上的简单测试程序

每个线程读取一个文件的一部分并将其写下来。

在本地机器上工作得很好(mpich)在集群上出错(openmpi)

我的程序在函数 write_result 中的 close(fd) 处终止。

这是错误消息

在搜索了相关问题后,我猜测问题可能来自文件打开和关闭过程。由一个特定线程打开的文件应该由同一个线程关闭。也许 openmpi 无法识别哪个线程打开了它,哪个线程关闭了它。但它在 MPICH 上运行良好。