问题标签 [mpi]

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 投票
2 回答
1122 浏览

c++ - mpi 程序的 gui

我对一个简单的 mpi 程序有疑问。这个程序有一些 3D 点,这些点在程序中移动。我通过实现的 c++ 创建了一个简单的代码,然后我尝试添加一个简单的 gui。我使用了 gnuplot 库,但遇到了问题。当我调用 gui 函数时,gui 被创建并同时消失。我的意思是,点对象具有 x、y、z 坐标,并且我有一个包含点对象的数组。我想将它们创建为 gui。你能帮我解决这个问题吗?

谢谢你的帮助..

0 投票
3 回答
2929 浏览

python - MPI 信号处理

使用 时,是否可以在正在运行的代码中mpirun捕获信号(例如,由 生成的 SIGINT )?^C

例如,我正在运行一个并行化的 python 代码。我可以在自己except KeyboardInterrupt运行时捕获这些错误python blah.py,但在执行mpirun -np 1 python blah.py.

有人有建议吗?即使找到如何在 C 或 C++ 编译程序中捕获信号也是一个有益的开始。

如果我向生成的 Python 进程发送信号,它们可以正确处理信号;但是,发送到父orterun进程的信号(即来自集群上超过挂墙时间,或在终端中按 control-C)将立即杀死所有内容。

0 投票
1 回答
1466 浏览

types - MPI 用户定义的数据类型,我在做什么安全吗?

第一次在一些简单的练习应用程序之外使用 MPI,但出现了一些问题。

我有一个用以下成员定义的类(为了可读性和节省屏幕空间而省略了方法):

我想通过发送每个粒子的一些关键成员的值并在现场复制其他粒子来在进程之间发送粒子集。为此,我定义了一个 MPI 数据类型;如您所见,不包括成员 _lastUpdate、_isStatic 和 _isForeign:

这就是我发送粒子的方式;“parts”是粒子*的向量,其中包含指向我要发送的粒子对象的指针,“size”是parts.size()。

接收类似地发生,只是在这种情况下,“parts”是粒子*的向量,它指向先前创建的“空白”粒子对象,其成员将被我们接收到的数据填充:

问题是除了第一个粒子之外,所有接收到的粒子在其成员中都有默认的“空白”值。在此之前我写了一个小型测试应用程序,做了类似的事情,并且运行良好,尽管它只传输了一些简单的值。这让我相信,除非有我在这里没有注意到的编码错误(完全有可能),否则这种数据类型的诡计并不能保证有效,而且这种做法只是偶然发生的。

任何人都可以确认/否认这种类型的内存操作是否安全并且应该依赖?

0 投票
1 回答
302 浏览

c - Mpi 函数定义

我使用 MPI(消息传递接口)在 c 中编写了一个程序,该程序递归地计算下三角矩阵的逆矩阵。每个 cpu 向其他两个 cpu 发送 2 个子矩阵,它们计算它们并将它们返回给 cpu 调用者。当 cpu 调用者有其子矩阵时,它必须执行矩阵乘法。在递归方程中,瓶颈是矩阵乘法。我在 c 中用 mpi 实现了并行乘法,但我无法将它嵌入到函数中。可能吗?

谢谢,西蒙娜

0 投票
2 回答
507 浏览

c++ - 需要帮助将 gdb 附加到我的项目

我使用 VS2k8 在 Vista x64 上使用 MPICH2 库编写和编译(但不运行)程序。然后我mpiexec从命令行使用启动程序(只有 1 个用于调试目的的进程),我想将 gdb 附加到它。简单地使用attachorgdb --pid=###不起作用(我得到错误Can't attach to process),大概是因为 VS 没有使用正确的调试信息编译代码。另一方面,尽管有几个谷歌会话,我还没有找到 VS 用来编译的实际命令行,所以我不能直接进去编辑它。

请注意,我使用 VS 的唯一原因是因为在尝试从命令行编译时无法让 g++ 找到 MPI 库,而 VS 只需单击几下即可使一切正常。(是的,我尝试了-Iand-l开关,但无济于事)

我所需要的只是将 gdb 附加到运行我的 MPI 程序的进程中,我并不关心它是如何完成的。任何帮助表示赞赏。

0 投票
1 回答
1484 浏览

c# - .NET MPI 实现?

什么是最成熟的 .NET MPI 实现?一个快速的谷歌搜索出现了以下两个,但我不熟悉它们中的任何一个。我相信第一项(mpi.net)是基于Microsoft MPI的。有什么想法吗?

http://www.osl.iu.edu/research/mpi.net/

http://www.purempi.net/

0 投票
3 回答
6085 浏览

python - 使用哪个 python mpi 库?

我开始使用 MPI 进行一些模拟,并希望在 Python/scipy 中进行编程。scipy网站列出了许多 mpi 库,但我希望从任何使用过的人那里获得关于质量、易用性等方面的反馈。

0 投票
7 回答
1345 浏览

c - 直接从我的应用程序执行 BLAST/SmithWaterman 搜索

我正在开发一个小型应用程序,并考虑将 BLAST 或其他本地对齐搜索集成到我的应用程序中。我的搜索只调出了程序,需要安装并作为外部程序调用。

有没有办法让我从头开始实施它?任何预制的图书馆也许?

0 投票
1 回答
1116 浏览

sorting - MPI 阵列同步

我正在学习 MPI,所以我虽然可以为 2 个处理器编写简单的奇偶排序。第一个处理器对偶数数组元素和第二个奇数数组元素进行排序。我正在为 2 个处理器使用全局数组,所以我需要同步(比如信号量或锁变量),因为我得到了不好的结果。这个问题在 MPI 中是如何解决的?我的代码:

0 投票
5 回答
11629 浏览

parallel-processing - What are some scenarios for which MPI is a better fit than MapReduce?

As far as I understand, MPI gives me much more control over how exactly different nodes in the cluster will communicate.

In MapReduce/Hadoop, each node does some computation, exchanges data with other nodes, and then collates its partition of results. Seems simple, but since you can iterate the process, even algorithms like K-means or PageRank fit the model quite well. On a distributed file system with locality of scheduling, the performance is apparently good. In comparison, MPI gives me explicit control over how nodes send messages to each other.

Can anyone describe a cluster programming scenario where the more general MPI model is an obvious advantage over the simpler MapReduce model?