一、安装MPI

1、安装MPI库

sudo yum install mpich mpich-devel

2、 配置环境变量

编辑~/.bashrc文件,在文件末尾添加如下两行: 在普通用户模式下输入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

#include

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

三、配置ssh免密登录

修改映射

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

192.168.79.133 node1

192.168.79.134 node2

生成公钥、私钥

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

(2)多节点多程序

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

注意事项:

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

好文阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。
大家都在看: