MPI环境安装、配置SSH免密登录

一、安装MPI

1、安装MPI库

sudo yum install mpich mpich-devel

2、 配置环境变量

编辑~/.bashrc文件,在文件末尾添加如下两行:
image.png
在普通用户模式下输入vim ~/bashrc

export PATH=$PATH:/usr/lib64/mpich/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/mpich/lib

source ~/.bashrc

3、 测试MPI环境

mpirun -np 2 hostname
如果输出了两个主机名,则MPI环境配置成功。

二、安装openmp环境

1、 安装GCC/G++

CentOS中安装GCC可以使用yum命令:

sudo yum install gcc
sudo yum install gcc-c++

2、配置环境变量:

编辑~/.bashrc文件,在文件末尾添加如下一行:
export OMP_NUM_THREADS=4
其中4可以根据实际需要修改。

3、测试OpenMP环境

新建一个文件test.c,写入以下代码:

#include <stdio.h>
#include <omp.h>

int main() {
    #pragma omp parallel
    {
        int tid = omp_get_thread_num();
        printf("Hello, world! This is thread %d\n", tid);
    }
    return 0;
}

在终端输入以下命令编译并运行程序:

gcc -fopenmp test.c -o test
./test

image.png
image.png

三、配置ssh免密登录

修改映射

vim /etc/hosts
node1:192.168.79.133
node2:192.168.79.134
添加:

192.168.79.133 node1
192.168.79.134 node2

image.png

生成公钥、私钥

ssh-keygen -t rsa

配置ssh

在node01机器上输入命令

ssh-copy-id -i Node1

然后输入对应密码,再输入

ssh-copy-id -i Node2

node02同理

四、多节点程序

编辑hostfile文件,确认每个机器发起进程的上限

node1:2
node2:3 

(1)多节点单程序

如果执行中用到的-n number,number中的前2个会在node1中执行,接下来的会在node2中执行
mpirun -f hostfile -n 10 ./mpi
image.png

(2)多节点多程序

mpi的前10个rank执行hello程序,接下来的20个rank执行world程序
mpirun -f hostfile -n 10 ./hello : -n 20 ./world

注意事项:

  1. 上述执行方式中,在node1和node2中必须有相同路径、相同名称的可执行文件,否则程序会报错,找不到文件。
  2. 可能会提示需要安装ssh-askpass,按照提示安装即可
  3. 最好都加上具体路径 “./mpi”的形式,直接使用“mpi”可能会报错,报错如下图

image.png

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值