一、安装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”可能会报错,报错如下图
好文阅读
发表评论