2014-01-22 44 views
0

我是MPI編程的初學者,我想與兩臺獨立的計算機並行編程。我想發送一個數組到另一臺計算機。我看到了發送數組地址的send()函數,但我們有兩臺不具有「共享內存」的獨立計算機。那麼如何使用MPI中的發送功能將數組發送到「另一臺計算機」呢?在兩臺主機上運行MPI

回答

1

我認爲你對MPI是什麼有一個基本的誤解。這不一定是使用共享內存在兩個進程之間發送數據的一種方式(儘管可以使用它)。它的核心是將數據從一個進程發送到另一個進程,無論該進程是否在同一臺機器上。當您使用MPI_SEND函數時,您不會將數據的地址從一個進程發送到另一個進程,而是將數據的地址發送給MPI庫,然後MPI庫將該數據的副本發送給另一個進程它通過呼籲MPI_RECV

我強烈建議找一個很好的教程來學習一些MPI基礎知識。在你最喜歡的搜索引擎中快速搜索會有所幫助,但如果你喜歡,我可以種下這個底池。

  1. 一個很好的參考網站是Deino MPI。這並不一定會教你關於MPI的一個整體,但如果你需要在MPI中看到每個函數的例子,這是一個很好的參考。
  2. This網站鏈接到大量的MPI教程。它們有點過時了,但它們仍然有效,特別是對於MPI基礎知識。
  3. 有幾本好書,Using MPIUsing MPI - 2nd Edition,這些書很受學習MPI的人的歡迎。

我確定這裏有更多,但這應該讓你開始。

+0

非常感謝您的回答,我明白了,但我還有一個基本問題?我不知道我應該如何在2或3臺主機上運行我的程序,我的意思是我不知道我搜索了很多東西,但是我找不到一些有用的鏈接,你能否給我一個關於**在多個電腦上運行我的程序的新教程** – user3210586

+0

我提到過的所有教程都會講述所有那。您將需要花一些時間與他們共同瞭解MPI實際是什麼以及如何使用它。 –

相關問題