Ubuntu+Open MPI+SSH小叢集簡易配置__Parallel

來源:互聯網
上載者:User

為了完成課程作業,筆者致力於尋找最簡捷的配置方式。目的是串連三個節點運行簡單的MPI程式。

參考資料:https://www.open-mpi.org , https://blog.csdn.net/kongxx/article/details/52227572 各節點初始化

為了方便後續的SSH串連,這裡設定所有節點具有相同的username(因為 ssh IP等價於 ssh $USER@IP) 。關於建立使用者的部分請參考https://blog.csdn.net/silent56_th/article/details/80033636 。

一個方便後續輸入的可選操作是:在各個節點中通過修改/etc/hosts為其他節點的IP地址映射一個名稱,用於指代。 節點間免密碼SSH串連

詳情參考:https://blog.csdn.net/kongxx/article/details/47046817

簡單的說,是節點A用例如RSA的演算法產生了公私密金鑰做身份認證,節點B通過記錄節點A的公開金鑰,對節點A進行授權。授權完成後,節點A可以不要求輸入密碼直接存取節點B。

理論上只需要其他節點對主節點做授權,筆者為了防止bug,對所有節點之間均做了授權。 Open MPI簡介與編譯

關於MPI以及Open MPI的簡介詳見:https://www.open-mpi.org/video/?category=general

簡單的說是MPI為協議,Open MPI是具體實現。

關於Open MPI的編譯詳見:https://www.open-mpi.org/faq/?category=building#easy-build

簡易步驟為:下載解壓–>configure(--prefix用於指定安裝位置)–> sudo make all install

筆者直接將Open MPI安裝到系統中,所以 --prefix=/user/local,後續也無需設定PATH等系統參數;否則需要將相應位置的bin以及lib路徑加入到 $PATH和 $LD_LIBRARY_PATH中(可以通過 .bashrc設定) 編譯與運行代碼

mpicc命令和 gcc/cc使用方法相似,簡單操作是 mpicc <c_filename> -o <excutable_filename>

單節點執行: mpirun -np <processor_num> <filename>,其中-np指定處理器數目,第一個不可解釋的字串( <filename>)被看作可執行檔名稱。

小叢集執行: mpirun -np <processor_num> --hostfile <hostfile_name> <filename>,其中 <hostfile_name>內指定可用的節點IP地址與slot數。例如筆者的mpi-hosts檔案為:

localhost   slots=2slave1  slots=2slave2  slots=2

其中localhost為本地節點,slave1/2是其他兩個節點在主節點中的IP地址指代(於/etc/hosts中設定)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.