2010-04-14 51 views
0

我需要在MPI中進行編程演示。我需要爲MPI的工作方式添加一個細分。例如當我調用MPI_Init時會發生什麼?mpi底下

你知道我從哪裏可以學到這些細節嗎?

+4

好吧,總有來源:-) – 2010-04-14 04:38:01

回答

2

MPI規範包含對每個API的「黑匣子」外部的旋鈕,滑塊和顯示的描述。

黑匣子的內部細節將取決於實現...並且還取決於互連(例如TCP,IBV,DAPL等),操作系統(例如使用LSB的實現或本地庫,等等)以及許多其他因素(例如,消息大小閾值將觸發不同的代碼路徑,等等)。在a.out上使用「strace」和「ltrace」可能會提供一些有關黑箱內實際情況的信息。

最好的建議是挑選一個開源實現並檢查代碼以確定內部細節。

2

MPI是一個規範,而不是一個特定的實現。可觀察到的行爲在MPI spec中給出。它如何在引擎蓋下工作取決於具體的實施。如果您想看一個示例實現,您可能有興趣查看MPICH2browsing their source code

0

補充您對MPI實施源代碼的研究,並考慮如何在您選擇的平臺上實現MPI_Init。 MPI位於已有的O/S功能之上。我的意思並不是說你可以通過這種方法瞭解特定版本的MPI是如何實現的,而是建議你從另一個角度來解決問題,從而更好地學習正在發生的事情。

0

MPI只是一個規格。 MPI規範由各個團體和組織實施。您將需要選擇一個實現,例如MPICH,並且您可以找到他們的設計文檔。這將告訴你MPI規範是如何由該組實現的。

如果您只想描述在MPI中編寫的應用程序啓動時發生的情況,您可以閱讀有關MPI和MPI編程的內容。我強烈推薦http://www.citutor.org