2010-02-02 37 views
2

我计划学习并行计算,现在我正在考虑MPI或TBB。事实上,我没有太多的经验。我想我最好从容易管理的事情开始。起初,我可能会尝试一些粗粒度的代码。哪一个对我来说更简单?谢谢。线程构建块库或MPI?哪一个更适合我?

回答

2

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

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

总之,根据您的问题空间,其中一个或另一个可能会更好。这真的取决于你正在试图解决的问题。

+0

我尝试做的是使用几种不同的解算器,解决计算机集群或多核计算机上的问题与并行多个搜索流程和交换信息的每个过程中希望能提高算法的解决方案,例如。 – oldfish 2010-02-02 19:10:06

+1

如果您认为您的问题需要的核心数量不止一个,那么MPI可能是一条可行的路,因为您具有更大的扩展能力。 – 2010-02-02 19:40:38

1

MPI和TBB在方法上非常不同。

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

TBB,在另一方面,是真正面向对单个应用程序更简单,更易上手内进行穿线。它与微软的concurrency runtime甚至TPL in the .NET world非常类似。

相关问题