我计划学习并行计算。现在我在考虑 MPI 或 TBB。事实上,我在这方面没有太多经验。我想我最好从易于管理的东西开始。一开始,我可能会尝试一些粗粒度的代码。哪一个对我来说更容易?谢谢。
问问题
633 次
2 回答
2
这取决于您对并行性的定义以及您要达到的目标。TBB 的重点是利用多核处理器。在这种情况下,并行性意味着同时在多个内核上运行。
但是,MPI 的主要好处是分布式内存并行计算。在这种情况下,在不同物理机器的集群上运行您的应用程序,并通过 TCP 或其他专有协议相互通信。
总之,根据您的问题空间,一个或另一个可能会更好。这实际上取决于您要解决的问题。
于 2010-02-02T18:25:44.030 回答
1
MPI 和 TBB 在方法上非常非常不同。
MPI 基本上是一个消息传递库。这更难用于开发线程应用程序,因为它强制执行更严格的隔离规则。但是,它确实允许您扩展到多个进程,在多个系统上运行。
另一方面,TBB确实旨在使单个应用程序中的线程更加简单和易于使用。它在方法上与 Microsoft 的并发运行时非常相似,甚至在 .NET 世界中的 TPL。
于 2010-02-02T18:26:30.190 回答