计算机体系结构Centos7 MPI实验三

centos单机安装mpich

root登录
安装3.2版本64位的mpich

yum install mpich-3.2.x86_64
yum install mpich-3.2-autoload.x86_64
yum install mpich-3.2-devel.x86_64 
yum install mpich-3.2-doc.noarch 

因为之前已经下载过,所以说nothing to do,如果不确定也可以直接复制,如果也是nothing to do 说明成功
在这里插入图片描述
安装目录一般在 /usr/lib64/mpich-3.2 ,目录一直下去能看到很多文件和编译器

cd /usr/lib64/mpich-3.2/bin
ls

或者用
find / -name "mpi"

两个效果是一样的,就是为了确定安装位置而已

在这里插入图片描述
然后配置环境变量vim /etc/profile
添加语句,

export PATH=$PATH:/usr/lib64/mpich-3.2/bin/

如图所示:
在这里插入图片描述
先按ESC,然后:wq回车保存。
然后生效环境变量设置cd ~,输入:source .bashrc
验证:cd ~ 编辑c文件:vim hello.c 进入后按i,复制进去,Esc后:wq回车保存

#include <mpi.h>
#include <stdio.h>
#include <math.h>
int main(int argc,char* argv[])
{
    int myid, numprocs;
    int namelen;
    char processor_name[MPI_MAX_PROCESSOR_NAME];

    MPI_Init(&argc,&argv);/* 初始化并行环境 */
    MPI_Comm_rank(MPI_COMM_WORLD,&myid);/* 当前进程的ID号 */
    MPI_Comm_size(MPI_COMM_WORLD,&numprocs);/* 进程的总數 */
    MPI_Get_processor_name(processor_name,&namelen);/* 当前处理器的名称 */

    fprintf(stderr,"Hello World! Process %d of %d on %s\n",
                  myid, numprocs, processor_name);

    MPI_Finalize();/* 结束并行环境 */
    return 0;
}

然后输入语句

mpicc -o hello hello.c
mpirun -np 4 ./hello

结果:
在这里插入图片描述

多节点上执行mpich

配置主机名:vim /etc/hosts
两台主机,一台叫n1,一台n2,都需要配置hosts,内容如下:

//n1的配置
127.0.0.1   localhost n1(原来是localhost.localdomain,修改到和当前主机名一致) localhost4 localhost4.localdomain4
::1         localhost n1(和上面的n1同理) localhost6 localhost6.localdomain6
192.168.56.101 n1(这是当前主机名)
192.168.56.102 n2
//n2的配置
127.0.0.1   localhost n2 localhost4 localhost4.localdomain4
::1         localhost n2 localhost6 localhost6.localdomain6
192.168.56.101 n1
192.168.56.102 n2

退出后两台主机分别需要在root状态下设置hostnamevi /etc/sysconfig/network

//n1的配置
NETWORKING=yes
HOSTNAME=n1
//n2的配置
NETWORKING=yes
HOSTNAME=n2

保存后退出,直接在命令行用root状态分别在两台主机上输入:
hostname n1
hostname n2
或者永久使用需要修改vi /etc/hostname
输入n1/n2,重启生效。
再次输入hostname可以看到显示n1/n2即为成功。
然后cd ~,配置集群的hosts文件:vim hosts

n1
n2

分两行分别打上主机名即可,保存退出。
然后在任意一台主机(我选择n1)上将上文测试过的编译好的hello文件传给集群中的主机:scp hello rx@n2:/home/rx
没有报错即为成功,然后运行指令:
mpirun -np 2 -f hosts ./hello
在两台主机上都有运行即为成功,结果如下:
在这里插入图片描述

参考资料:

  1. https://libiao.blog.csdn.net/article/details/100188349?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-4.control
  2. https://blog.csdn.net/qq_36819130/article/details/88370973
  3. https://blog.csdn.net/qq_29630271/article/details/70943549?utm_term=centos7%E5%AE%89%E8%A3%85mpich&utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduweb~default-0-70943549&spm=3001.4430
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值