使用MPICH搭建MPI集群

2021-09-03 10:35:34 字數 3004 閱讀 1347

單機配置:(只在node4節點下)

wget
執行以下命令解壓

tar xzf mpich-3.3.tar.gz
建立mpi的安裝路徑,使用/home/[username]/mpi資料夾來存放安裝檔案

mkdir /home/***x/mpi
進入解壓後的mpich-3.3檔案

cd mpich-3.3
指定安裝資料夾

./configure --prefix=/home/***x/mpi --disable-fortran
構建make檔案並執行makefile進行安裝

make && make install
配置.bashrc

vi ~/.bashrc
寫入:

export mpi_root=/home/***x/mpi

export path=$mpi_root/bin:$path

(export path=/home/***x/mpi/bin:$path)

source一下

source .bashrc
測試mpihello.c

#include #include #include int main (int argc, char **argv)

編譯:mpicc -o mpihello mpihello.c(如果c++使用mpicxx)

執行:./mpihello

結果:

hello world! process 0 of 1 on node4
使用mpirun執行:mpirun -np 4 ./mpihello

結果:

hello world! process 0 of 4 on node4

hello world! process 1 of 4 on node4

hello world! process 2 of 4 on node4

hello world! process 3 of 4 on node4

集群環境:

node4

node5

集群配置:(在node4和node5兩個節點組成的集群環境下)

提前配置好ssh免密登陸,使上述節點可以通過ssh直接訪問。

將已經安裝好的mpi從node複製到其他節點。

scp -r /home/***x/mpi ***x@node5:/home/***x/
成功複製之後進入node5

ssh node5
在這個node5節點也修改環境變數(在所有節點上都要設定),同上

配置.bashrc

vi ~/.bashrc
寫入:

export mpi_root=/home/***x/mpi

export path=$mpi_root/bin:$path

source一下

source .bashrc
編寫servers檔案(servers只需要放在執行程式的主節點就可以)

node4:2  #執行2個程序

node5:2 #執行2個程序

之後就可以執行試一下。

測試mpihello.c(執行程式必須同時存在兩個節點上並且目錄必須一致)

#include #include #include int main (int argc, char **argv)

編譯命令:mpicc -o mpihello mpihello.c

執行命令:mpirun -n 4 -f ~/servers ./mpihello

執行結果:

hello world! process 3 of 4 on node5

hello world! process 0 of 4 on node4

hello world! process 1 of 4 on node4

hello world! process 2 of 4 on node5

附加問題:

關於servers檔案的解釋

編寫servers檔案(servers只需要放在執行程式的主節點就可以)

node4:2  #執行2個程序

node5:2 #執行2個程序

這裡:(冒號)後邊數字意思應該是cpu核數,比如上邊設定為2,在後邊的mpirun命令中如果要建立4個程序,就會在node4上先建立2個程序,然後再在node5上建立2個程序;如果設定為1,mpirun要建立4個程序,就會在node4上先建立1個程序,然後再在node5上建立1個程序,然後再在node4上建立1個程序,最後在node5上建立1個程序,從而完成四個程序的建立;如果設定2,mpirun要建立2個程序,那這兩個程序都會建立在node4上。

例項一:

node4:2 

node5:2

mpirun -n 4

例項二:

node4:1

node5:1

mpirun -n 4

例項三:

node4:2

node5:2

mpirun -n 2

使用mpich搭建MPI集群

使用mpich搭建mpi集群 wget 2.解壓 tar xzf mpich 3.3.tar.gz 3.建立mpi的安裝路徑 home omnisky xy mpi 4.進入解壓後檔案 cd mpich 3.3 5.指定安裝資料夾 configure prefix home omnisky xy m...

MPI集群環境搭建

我在前面兩篇部落格中簡要介紹了為什麼要平行計算以及mpi的一些學習心得,接下來我們正式開始mpi的學習之路。我們知道mpi是分布式記憶體程式設計,所以這篇部落格會詳細講解mpi集群環境的搭建過程。選擇linux版本 這裡我選擇的是ubuntu14.04,其他linux版本如centos fedora...

MPI集群搭建指南

由於有時需要使用到mpi集群來進行迭代運算,就嘗試著自己去搭建著mpi集群。不過這也是到去年工作的事情了。我現在憑我的記憶去把它回憶出來。從零開始,搭建mpi集群是一件很費周折的事情。mpi是一種程式設計模型,業界有很多種實現,其中開源版本就有好幾個版本。對比過openfabrics公司提供的ofe...