mpi安裝
首先将yum源改為阿裡源,可以參考如下部落格:
CentOS7修改yum源為阿裡源
修改阿裡源的作用是提升yum的下載下傳速度,預設源在國外,下載下傳比較慢。
安裝
yum list mpich*
檢視MPI可安裝的版本, 選擇mpich 3.2版本,如果你的是64位下載下傳 x86_64 devel
sudo yum -y mpich-version #選擇你要安裝的版本
配置環境變量
sudo find / -name "mpicc",應該可以檢視到安裝路徑
vim ~/.bashrc
#在檔案中添加,具體路徑要根據系統和具體環境,一般隻需加上以下代碼:
export PATH=$PATH:/usr/lib64/mpich/bin/
source .bashrc #生效環境變量設定
測試
#include <stdio.h>
#include "mpi.h"
int main(int argc,char** argv)
{
int rank,size;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&size);
printf("hello rank is %d, size is %d\n", rank, size);
MPI_Finalize();
return 0;
}
- 編譯
mpicc -o hello hello.c
- 運作
mpirun -np 4 ./hello
SSH免密登入
環境
兩台或三台主機,需要在同一個區域網路下,在此以兩台為例:
假設機器A(192.168.100.0)和機器B(192.168.100.1),若期望在A機器上免密登陸到B機器,則需要A機器有公鑰和私鑰,B機器上有A機器的公鑰。
配置
1)在A機器上生成公鑰/私鑰對
A:~$ ssh-keygen -t rsa
根據提示,回車即可,提示輸入密碼時回車即表示空密碼。在使用者根目錄下生成.ssh檔案夾,裡面包括id_rsa(私鑰)和id_rsa.pub(公鑰)。
注意,SSH還是普通使用者配置比較容易,root使用者配置可能出現權限問題。
2)将A機器的id_rsa.pub複制到B機器下
A:~$scp /home/A/.ssh/id_rsa.pub 192.168.100.1:/home/B/.ssh/
這一步還需要輸入B機器的密碼。
3)在B機器上将A機器的id_rsa.pub添加到B機器的.ssh/authorized_keys,并将authorized_keys的權限改成600
B:~$ cat id_rsa.pub >> .ssh/authorized_keys
B:~$ chmod 600 .ssh/authorized_keys
現在A機器可免密登陸到B機器上了。
4)利用A的如下指令登入B:
A:SSH 192.168.100.1
第一次需要輸入B的密碼,下一次就不需要了。