2012-03-25 83 views
1

我想在使用OpenMPI的TCP/IP網絡連接的多臺計算機上分發數據..任何人都可以指出正確的資源和方向。我是OpenMPI的新手。使用OpenMPI進行數據分發

感謝

回答

5

這取決於你要編寫軟件的語言。但基本上,openMPI應用程序如下所示:

  1. 調用MPI_INIT以使MPI爲您在節點之間初始化必要的通信。
  2. 使用MPI_Send,MPI_RECV函數發送或接收數據。這些函數有阻塞和非阻塞的調用,以及其他幾種 - 廣播(發送給所有人),分散(將數組中的數據以相等的比例分配給每個主機)等。
  3. 使用MPI_FINALIZE完成通信過程。

在MPI,有幾乎總是以下工作流程包括:

  1. 主主機分配 - 通常是一個用的ProcessID = 0它的功能是協調從屬主機的工作。基本上,如果必須從陣列中並行獲取最大值,那麼他的工作就是採用陣列,將其等分發送給從站,從從站收集結果並從列表中選擇最大值。
  2. 從屬主機 - 等待數據接收,執行處理,並將結果發送回主機。

我建議this MPI教程C++開發,並檢查了有關該主題的so post有關的書籍。

1

這裏只是在網絡上的許多MPI tutorials之一;我很驚訝你沒有找到你自己。