mpi安装
首先将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的密码,下一次就不需要了。