2010-02-02 40 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非常類似。

相關問題