【问题标题】:What is the best tutorial for learning MPI for C++? [closed]学习 C++ 的 MPI 的最佳教程是什么? [关闭]
【发布时间】:2011-01-17 12:37:26
【问题描述】:

我计划将 MPI 用于我的 C++ 代码。我已经在我的电脑上安装了 MPICH2。但是我对MPI了解不多,希望能找到一些资料来阅读。希望各位高手能给我推荐一些好的材料。任何建议将不胜感激。

【问题讨论】:

标签: c++ mpi


【解决方案1】:

我假设您已经非常了解如何编写 C++ 并且对并行编程有基本的了解(或者至少知道您希望如何并行化您的代码)。

我会先看看Using MPI 这本书。使用 MPI 2 是讨论使用 MPI-2 中的新位的后续书。这两本书都是由编写 MPI 库并领导标准化工作的人编写的。使用 MPI 的一个好处是它可以在线获得,因此您可以在不花钱的情况下查看它:-)

【讨论】:

  • +1 来自我。一个小问题,可能是也可能不是问题:在 Fortran、C 和 C++ 示例代码之间切换。
  • 我同意这可能有点烦人,但我认为这不会对我在使用这本书时的理解造成重大损害。
【解决方案2】:

Parallel Programming with MPI Peter S. Pacheco 是一本很好的介绍书。请注意,本书使用 C,但应该很容易过渡到使用 C++ MPI 绑定。

【讨论】:

  • +1 这本书很好地介绍了 MPI 编程。
  • 我认为这本书是学习使用 MPI 编程的好方法。如果你找到我的答案,你会发现我不赞成将 C++ 用于任何新的 MPI 开发。由于您没有提及类似的警告,因此不赞成。你仍然得到了支持性的评论。 ;)
  • 帕切科的书是多年前写的。它还有用吗?
  • 我认为内容仍然相关。
【解决方案3】:

LLNL 有a pretty good one

【讨论】:

    【解决方案4】:

    正如@semiuseless 所指出的,MPI 论坛正在弃用 C++ 绑定。原因之一是boost MPI interface 做得更好。

    【讨论】:

      【解决方案5】:

      我建议不要将 MPI C++ 绑定用于任何新开发。程序本身可以是 C++,但要花费额外的精力来使用 MPI 库的 C 接口。

      MPI 论坛正在弃用 C++ 绑定。因此,MPI 的未来实现可能会放弃对 C++ 的支持。一般来说,当涉及到 C++ 时,大多数实现都会忽略功能。基础知识将起作用,但动态进程(即 spawn)、PMPI 接口等的支持不太好。

      C 和 Fortran 绑定得到了所有主要实现的相当好的支持,并且在可预见的未来将继续得到支持。

      【讨论】:

      • 对于那些打算坚持使用 C++ 的人来说,哪些是 MPI 的替代品?据我所知,这是在不同机器上拆分东西的唯一方法。有 OpenMP 和 CUDA,但那是另一回事 - 我会说。
      【解决方案6】:

      一些入门手册可以在LAM/MPI site找到

      【讨论】:

        【解决方案7】:

        Mpich2 带有许多 C++/C 示例。最著名的可能是 cpi,它并行计算 pi。通读该程序以及其他人建议的手册/书籍。通过这种方式,您将立即看到实际工作的代码,并且可以自己进行修改以进行操作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-06-07
          • 2010-09-28
          • 1970-01-01
          • 1970-01-01
          • 2020-02-28
          • 2010-09-30
          相关资源
          最近更新 更多