首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在单个Raspberry-Pi上使用MPI

在单个Raspberry-Pi上使用MPI
EN

Stack Overflow用户
提问于 2018-05-31 02:50:04
回答 1查看 199关注 0票数 2

我正在开发一个应用程序(在C++中),它涉及对数据数组的几个独立操作(FFTW +信号处理)。数组大小可以是512或1024 (尚未决定),数据类型为double。

我希望将这些独立的操作并行化,以充分发挥Pi的优势。很明显,我在过去会做的事情是使用pthread。

然而,(不幸的是:)我最近了解了MPI,我想知道我是否应该在这里使用它而不是好的旧线程。显然,如果我有一个设备集群(这就是我在互联网上搜索到的结果),MPI就是最佳选择。

但在我这种只有一台设备的情况下,MPI仍然是一个好的选择吗?(特别是当该设备是Raspberry-Pi时)。

(如果上面的答案是“否”,这是否意味着当只有一台计算机时,MPI通常是一个糟糕的选择?)

EN

回答 1

Stack Overflow用户

发布于 2018-06-06 18:36:28

MPI可能是一个很棒的选择,这取决于每个单元通信可以完成多少工作。这就是我是否会考虑MPI的方式。

我是一个MRI模拟框架的合著者。在这里,我们处理的是单独的“宏观”自旋,通常可以将其视为空间上不相互作用的。这使得人们可以在每一次旋转和局部bloch方程上进行穷人的并行化。所以只有很少的交流需要大量的物理知识。即使在单个设备上,它也可以像pthread一样执行。

然而,在光谱的另一边,我看到了大量的并行矩阵求逆,就像SCALAPACK所做的那样。在那里,你会发现每个单位的计算都有大量的交流。这就是世界上没有机会与pthread竞争的地方。

即使您打算使用pi集群,在这种情况下,您也会同时使用MPI和pthread,并且可能无法实现收支平衡,因为100Mbit网络存在严重的延迟问题。

有单板机器有1 1Gb/s的网络和更强的fp性能,如覆盆子pi,那里的通信成本可能是值得的。

tldr:为了让MPI变得有意义,我们需要computation/communication >> 1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50611597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档