欢迎来到天天文库
浏览记录
ID:60825633
大小:1.54 MB
页数:13页
时间:2020-12-20
《在linux虚拟机中配置多节点MPI.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机科学与技术系实验报告课程名称:并行计算及编程实验项目:在linux虚拟机中配置多节点MPI专业班级:姓名:学号:实验时间:批阅时间:指导教师:成绩:兰州交通大学《并行计算及编程》课程实验报告实验名称:在linux虚拟机中配置多节点MPI一、实验目的在linux虚拟机中配置多节点MPI,完成以下任务(2选1):1、矩阵-向量乘法;2、数据积分法求圆周率π二、实验内容(1)分别用串行程序和MPI并行程序实现(2)比较并行和串行程序的执行时间(3)计算并行程序相对于串行程序的加速比三、实验环境Windows10,CentOS四、实验过程(包括程序设计说明,实验步骤,经调试后正确的源程序,程
2、序运行结果)① 下载安装VMwareWorkstation图1下载安装VMwareWorkstation② 下载并安装Linux系统,这里我用的是CentOS,我开了两台虚拟机,centos6和centos664。保证台虚拟机都可以上网,且可以ping通。我的两个虚拟机的网络地址分别是192.168.20.128和192.168.20.129图2保证都可上网图3第一台的网络地址图4第二台的网络地址图5可以ping通① 两个虚拟机中添加同名用户在不同节点中需要有同名的用户以方便SSH连接node1和node2中以root用户执行下列命令图6修改主机名。node1和node2图7分别再两个虚拟
3、机中添加用户mpiuser图8记住要设置密码才可使用图9设置成功图10此时在第一台虚拟机中ping第二台依旧可以ping通① 保障两台虚拟机是互通的图11dns域名② 实现免密码SSH登陆,当前节点为node1,用户为mpiuser,工作目录为~家目录图12当前节点为node1,用户为mpiuser,工作目录为~图13建立本身的信任连接图14图15设置node2生成.ssh文件夹图16scpnode1:~/.ssh/*./拷贝node1上的.ssh文件夹到node2图17设置node2拷贝node1上的hosts文件到node2图18sshnodesshnode1遇到问题:node2的ss
4、h连接我好像是还没有设置好,依旧需要密码连接才可以。① 配置MPI运行环境官方网站下载其中的mpich-3.2.tar.gz此处遇到问题,在下载时:图19遇到问题:该问题在嵌入式作业中同样出现过,但我在改时,遇到了gedit的命令问题,实在是解决不了。我用共享内存的方式在windows中下载好,放在共享文件中。最开始使用的是rar文件,但Linux中需要安装RARforLinux,我就直接在共享文件中解压了。图20共享文件然后安装时又发现又各种问题,之后我又再次在官网下载了(之前一直中途失败,具体原因不明)图21官网下载好① 解压并进入目录图22解压tarxvfmpich-3.2.tar.
5、gz图23cdmpich-3.3.2./configure–prefix=/usr/local/mpich遇到问题:图23运行出错图24解决问题:图25解决问题:将图23命令改为此命令图26解决问题:成功!configurationcompleted遇到问题:在node2时用了图25的命令,但显示其他错误:图27少了C++的编译器解决问题:图28下载GCC编译器但依旧不可以,所以之后我全部一次安装好C的编译器图29解决问题图30解决问题之后node2的安装成功!图31解决问题图32make编译图33makeinstall安装① 设置环境变量图34设置环境变量~/.bashrc图35更新环境
6、变量至此MPI安装完成!② mpi多节点配置图36新建一个配置文件图37修改其中内容为① 用示例程序进行测试单节点测试:遇到问题:图38出现问题遇到问题:之后我就去改正环境变量,然后改错了!!!我的所有超级用户下的linux命令都不可以用了。所以要返回修改在超级用户下,用全路径的方式去修改!/usr/bin/gedit~/.bashrc图39重新修改环境变量,之后在用source~./bashrc来更新图40mpicc命令成功图41单节点测试成功-np表示numberofprocessors,即进程数,N自己取值图42都在节点1上图43都在节点2上多节点测试:图44多节点测试如上,在两个节
7、点上分别运行了两个进程,配置过程结束。实验结果:(二)数据积分法求圆周率π1.源程序(串行):#include#include#includestaticlongnum_steps=;//定义所分的块数intmain(intargc,char**argv){inti;doublex,sum=0.0,pi;clock_tstart_time,end_time;start
此文档下载收益归作者所有