最近需要學習openMPI,為了記錄就寫在博客里,方便以后看。
openMPI的安裝:
1. 可以直接使用apt安裝:sudo apt-get intall mpich
也可以先下載再安裝。
1、 點擊這個下載,我下載的時3.2.1
2、解壓:sudo tar -zxvf mpich-3.2.1.tar.gz
3、cd到文件夾下運行./configure -prefix=/home/mpi/mpich 配置目錄可以自己選
4、然后分別分析make 和sudo make install
5、運行sudo gedit ~/.zshrc 我的是,如果時bash終端的話,就講zshrc改成bashrc
6、添加下面這三行:
export MPI_ROOT=/home/mpi/mpich export PATH=$MPI_ROOT/bin:$PATH export MANPATH=$MPI_ROOT/man:$MANPATH
然后就可以下個mpi程序測試下是否成功了。
1 #include <mpi.h> 2 #include <stdio.h> 3 int main(int argc, char**argv){ 4 //openMPI的初始化函數 5 MPI_Init(&argc, &argv); 6 int world_size, wrank; 7 //獲取容器中進程數 8 MPI_Comm_size(MPI_COMM_WORLD, &world_size); 9 //獲取當前進程標識 10 MPI_Comm_rank(MPI_COMM_WORLD, &wrank); 11 printf("Hello world. I'm the process %d, we are %d process in total\n", wrank, world_size); 12 //openMPI的結束函數 13 MPI_Finalize(); 14 return 0; 15 }
然后運行:
mpicxx test.cpp -o test mpirun -n 4 ./test
mpicxx是編譯c++代碼,編譯c代碼是mpicc
mpirun是運行mpi程序-n 4表示創建4個進程