【发布时间】:2010-02-02 18:19:12
【问题描述】:
我计划学习并行计算。现在我在考虑 MPI 或 TBB。事实上,我在这方面没有太多经验。我想我最好从易于管理的东西开始。起初,我可能会尝试粗粒度代码之类的东西。哪一个对我来说更容易?谢谢。
【问题讨论】:
标签: mpi tbb parallel-processing
我计划学习并行计算。现在我在考虑 MPI 或 TBB。事实上,我在这方面没有太多经验。我想我最好从易于管理的东西开始。起初,我可能会尝试粗粒度代码之类的东西。哪一个对我来说更容易?谢谢。
【问题讨论】:
标签: mpi tbb parallel-processing
这取决于您对并行性的定义以及您想要实现的目标。 TBB 的重点是利用多核处理器。在这种情况下,并行意味着同时在多个内核上运行。
然而,MPI 的主要好处是分布式内存并行计算。在这种情况下,在不同物理机器的集群上运行您的应用程序,并通过 TCP 或其他专有协议相互通信。
总而言之,根据您的问题空间,一个或另一个可能会更好。这实际上取决于您要解决的问题。
【讨论】:
MPI 和 TBB 在方法上非常、非常不同。
MPI 基本上是一个message passing library。这更难用于开发线程应用程序,因为它强制执行更严格的隔离规则。但是,它确实允许您扩展到多个进程,在多个系统上运行。
另一方面,TBB 真正致力于使单个应用程序中的线程更简单、更易于使用。它与微软的concurrency runtime 甚至TPL in the .NET world 的方法非常相似。
【讨论】: