线程构建块库或MPI?哪一个对我更好?

时间:2010-02-02 18:19:13

标签: mpi tbb parallel-processing

我打算学习并行计算,现在我在想MPI或TBB。事实上,我没有太多的经历。我想我最好先从容易管理的东西开始。起初,我可能尝试像粗粒度代码。哪一个对我来说更容易?感谢。

2 个答案:

答案 0 :(得分:2)

这取决于你对并行性的定义以及你想要实现的目标。 TBB的重点是利用多核处理器。在这种情况下,并行性意味着同时在多个核上运行。

然而,MPI的主要好处是分布式内存并行计算。在这种情况下,在不同物理机器的集群上运行应用程序,并通过TCP或其他专有协议相互通信。

总之,根据您的问题空间,一个或另一个可能会更好。这实际上取决于你想要解决的问题。

答案 1 :(得分:1)

MPI和TBB的方法非常不同。

MPI基本上是message passing library。这对于开发线程应用程序更加困难,因为它实施了更严格的隔离规则。但是,它允许您扩展到在多个系统上运行的多个进程。

另一方面,

TBB非常适合在单个应用程序中使线程更简单,更平易近人。它与Microsoft的concurrency runtime,甚至是TPL in the .NET world

的方法非常相似