CentOs7 安装MPI和ssh免密登录配置

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的密码,下一次就不需要了。

猜你喜欢

转载自blog.csdn.net/a429367172/article/details/88586441