【问题标题】:MPI large data processingMPI大数据处理
【发布时间】:2012-03-24 15:55:43
【问题描述】:

我的 MPI 应用程序将读取一系列图像以构建 3-D 数据。这是非常大的数据(大约 4 GB)。我不希望将数据分发给每个工人。我不知道该怎么办。共享内存可能是一种解决方案。但是如何通过使用 MPI 来使用共享内存。我对此进行了很多搜索,没有找到任何好的。有人可以给我使用 MPI 处理大数据的建议或示例(顺便说一句。我正在使用 Open MPI 实现)。 非常感谢您的大力帮助。

【问题讨论】:

  • MPI 是一种专门的分布式内存编程模型。对于共享内存,您需要 OpenMP 之类的东西。
  • 希望将数据分发给每个工人?你到底在问怎么做?

标签: c++ mpi shared-memory large-data-volumes


【解决方案1】:

您正在寻找的是添加到 MPI-2 的单向通信。它在 OpenMPI 中可用。有关介绍,您可以查看 http://www.linux-mag.com/id/1793/

原理是你创建一个窗口(共享内存区域),然后你可以从那个窗口获取或放置数据。 MPI 应优化它以在可用时使用 RMA。还有诸如栅栏之类的机制来确保跨进程的同步。

【讨论】:

  • 这就是我要找的。非常感谢查尔斯。
猜你喜欢
  • 2021-08-23
  • 2023-03-03
  • 2011-08-16
  • 2010-11-11
  • 2012-04-16
  • 2017-06-05
  • 2013-01-18
  • 2017-02-09
相关资源
最近更新 更多