1. 程式人生 > >MPI多機器實現並行計算

MPI多機器實現並行計算

完成 進行 image 9.png 由於 基於 命名 共享磁盤 拷貝

  最近使用一個系統的分布式版本搭建測試環境,該系統是基於MPI實現的並行計算,MPI是傳統基於msg的系統,這個框架非常靈活,對程序的結構沒有太多約束,高效實用簡單,下面是MPI在多臺機器上實現並行計算的過程。

  這裏準備使用三臺機器,假設為A,B,C,對應IP分別為:192.168.86.16(A),192.168.86.108(B),192.168.86.123(C)。在這三臺機器上都有同一個用戶名songhou2,這三臺機器上安裝了相同的MPI版本,並且確保都已經設置好了環境變量,我們這裏把192.168.86.16作為主節點。

我們首先完成機器A和機器B之間的設置。在機器A上進入songhou2用戶目錄下,執行如下命令:

技術分享圖片

  命令執行過程中可能要等待你的輸入,全部直接選擇回車即可,然後接著執行如下命令:

技術分享圖片

  執行完命令後,需要輸入songhou2在機器B上的密碼,輸入密碼後回車,繼續執行下面的命令:

技術分享圖片

  登陸機器B

技術分享圖片

  繼續執行下面的命令:

技術分享圖片

  遇到需要輸入yes/no的地方就輸入yes,其他一律輸入回車,然後再執行如下命令:

技術分享圖片

  最後執行如下命令退出機器B:

技術分享圖片

  執行完上述所有命令後,就完成機器A和機器B之間的設置了,機器A和機器C之間的設置類似,這裏就不再進行贅述了。現在我們回到機器A上,編譯我們的源代碼得到可執行程序:

技術分享圖片

  由於我們的三天機器是相互獨立的,他們之間沒有共享磁盤,所以如果你想讓同一個程序使用MPI在多臺機器上執行,就要把可執行程序分別拷貝到另外兩臺機器上,然後我們把可執行程序分別拷貝到機器B和機器C上,但是要保證可執行程序在三臺機器上的文件路徑完全相同:

技術分享圖片

技術分享圖片

技術分享圖片

  下面你要在可執行程序所在的文件夾下創建一個文本文件,命名為hosts.txt,然後分別把三臺機器的IP寫到hosts.txt中,然後就可以執行程序了。

技術分享圖片

技術分享圖片

MPI多機器實現並行計算