Linux虛擬機器中配置多節點MPI實現平行計算完整版
虛擬機器CentOS中配置MPI多節點平行計算完整版,這是一個新手教程,從一個空白的CentOS到能正常執行的基礎環境,儘量詳細寫了每個步驟
我的環境如下:
宿主機:Windows 10 Pro
虛擬機器:VMware 12 + CentOS 6.6
一、 虛擬機器網路配置實現多節點互訪
硬體資源有限,所以我只開了兩臺虛擬機器均為 Centos 6.6。
1.修改網路卡配置檔案
/etc/sysconfig/network-scripts/ifcfg-eth0 將其中內容修改如下:
DEVICE=eth0
HWADDR=00:0C:29:A0:3A:CA
TYPE=Ethernet
UUID=bf583745-f834-451c-890c-39821a590543
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.207.128
NETMASK=255.255.255.0
DNS1=192.168.207.2
將每一臺虛擬機器都如此配置,IPADDR是ip地址,不要重複
2.修改閘道器及主機名
/etc/sysconfig/network
ETWORKING=yes
HOSTNAME=node1
NTPSERVERARGS=iburst
GATEWAY=192.168.207.2
一些文章中提到還需要修改VMware的設定(關閉本地DHCP服務),實際上,Centos 中設定好後就不需要動VMware的設定了
二、 在虛擬機器中新增同名使用者
在不同節點中需要有同名的使用者以方便免密碼SSH連線
node1和node2中以root使用者執行下列命令
# useradd mpiuser
三、 實現免密碼SSH登陸
當前節點為node1,使用者為mpiuser,工作目錄為 ~ 家目錄
1.生成 SSH 私鑰對
$ ssh-keygen -t rsa 一路回車就好
2.進入 .ssh 目錄
$ cd ./.ssh
3.生成authorized_keys檔案
$ cp id_rsa.pub authorized_keys
4.回到mpiuser的家目錄
$ cd ~
5.建立本身的信任連線
$ ssh node1
6.設定 node2
$ ssh-keygen -t rsa 生成.ssh資料夾
$ scp node1:~/.ssh/* ./ 拷貝node1上的.ssh資料夾到node2
# scp node1:/etc/hosts /etc/hosts 拷貝node1上的hosts檔案到node2,可能需要root許可權
$ ssh node2
$ ssh node1
7.如果還有其他節點,設定方法同node2
設定成功後,在任意節點執行SSH連線其他節點都不需要密碼,注意必需每個節點都有mpiuser這個使用者,之所以使用一個普通使用者,是為了避免root執行mpi程式時遇到風險。在一些mpi實現中,也不允許以root使用者執行。
四、 配置MPI執行環境
1. 下載 mpich
官方網站 http://www.mpich.org 下載其中的mpich-3.2.tar.gz
2. 解壓並進入目錄
# tar xvf mpich-3.2.tar.gz
# cd mpich-3.2
# ./configure –prefix=/usr/local/mpich
# make
# make install
3. 設定環境變數,修改 /etc/profile ,加入下面幾行程式碼
PATH=$PATH:/usr/local/mpich/bin
MANPATH=$MANPATH:/usr/local/mpich/man
export PATH MANPATH
4. 使剛剛的修改生效
# source /etc/profile
5. mpi多節點配置
新建一個配置檔案
# touch /usr/local/mpich/servers
修改其中內容為:
node1:2 #在node1上執行兩個程式
node2:2
如果有多個節點繼續往下寫
五、 單節點測試
將原始碼包中的 examples 拷貝到 mpich 的安裝目錄
# cp -r ./examples /usr/local/mpich/
用示例程式進行測試
$ mpirun -np 4 /usr/local/mpich/examples/cpi
Process 1 of 4 is on node1
Process 0 of 4 is on node1
Process 3 of 4 is on node1
Process 2 of 4 is on node1
pi is approximately 3.1415926544231239, Error is 0.0000000008333307
wall clock time = 0.081049
得到如圖的回顯結果證明mpich的執行環境正常
六、 多節點測試
$ mpiexec -np 4 -f /usr/local/mpich/servers /usr/local/mpich/examples/cpi
Process 1 of 4 is on node1
Process 0 of 4 is on node1
Process 3 of 4 is on node2
Process 2 of 4 is on node2
pi is approximately 3.1415926544231239, Error is 0.0000000008333307
wall clock time = 0.139722
如上,在兩個節點上分別執行了兩個程式,配置過程到此結束
相關文章
- OpenStack 計算節點關機,虛擬機器狀態解決辦法虛擬機
- 大資料平行計算利器之MPI/OpenMP大資料
- 虛擬機器實現dataguard配置過程虛擬機
- 完數的MPI並行程式設計-平行計算並行行程程式設計
- Linux虛擬機器網路配置Linux虛擬機
- 虛擬機器環境下RAC加入節點虛擬機
- Concurrent iHawk — 實時平行計算機模擬系統計算機
- 虛擬機器(三)虛擬機器配置靜態Ip虛擬機
- Exadata虛擬機器模擬--安裝儲存節點虛擬機
- 大文字平行計算實現方式
- 使用DiskGenius工具來實現物理機遷移虛擬機器,實現虛擬化虛擬機
- 如何實現邊緣計算中的節點自治
- VMware Workstation中Linux虛擬機器克隆後的網路配置Linux虛擬機
- Hadoop叢集--linux虛擬機器Hadoop安裝與配置、克隆虛擬機器HadoopLinux虛擬機
- 計算機圖形學:虛擬和現實世界的融合計算機
- 實現跨鏈支援的多節點計算去中心化計算網路中心化
- 虛擬機器網路卡配置虛擬機
- 虛擬機器配置共享磁碟虛擬機
- 使用虛擬機器配置dataguard虛擬機
- 雲端計算和虛擬機器基礎梳理虛擬機
- vmware克隆虛擬機器centos6.5,虛擬機器從新配置虛擬機CentOS
- Linux雲端計算技術學習:常用虛擬機器引數Linux虛擬機
- GOland配置ssh訪問Linux/Manjaro虛擬機器GoLandLinuxJAR虛擬機
- 虛擬機器環境下RAC刪除節點(Final)虛擬機
- ubuntu14.04 lnmp nginx 虛擬主機(多站點 多域名) 配置UbuntuLNMPNginx
- VMware虛擬機器中修改Linux MAC地址虛擬機LinuxMac
- 轉:虛擬機器中為Linux新增硬碟虛擬機Linux硬碟
- 動手實現程式碼虛擬機器虛擬機
- 通過rhel7的kvm虛擬機器實現3節點Postgres-XL(包括gtm standby)虛擬機
- 一、虛擬機器環境配置虛擬機
- nginx之 nginx虛擬機器配置Nginx虛擬機
- Dalvik虛擬機器、Java虛擬機器與ART虛擬機器虛擬機Java
- ADAMoracle實現跨鏈支援的多節點計算去中心化計算網路Oracle中心化
- Windows虛擬機器安裝Linux的基礎配置Windows虛擬機Linux
- 虛擬機器中Linux中安裝VMware tool工具虛擬機Linux
- 在Apache上實現多HTTPS虛擬主機ApacheHTTP
- VMmare-suse11網路配置實現宿主機和虛擬機器互通(若宿主機能聯網則虛擬機器亦可聯網)虛擬機
- 在VMware Workstation中建立Linux虛擬機器模版Linux虛擬機