实验报告
课程名称并行计算机体系结构
实验名称并行计算机体系结构实验指导教师纪秋
实验日期 _ 2011.4 ______
学院计算机学院
专业计算机科学与技术
学生姓名 _______查隆冬_______ 班级/学号计科0804 /2008011183 成绩 ________ _________
并行计算机体系结构实验报告
⒈安装Mpich、配置文件、小组互相ping通网络的过程和指令
(一)安装Mpich
(1)本机插入MPICH光盘,双击桌面的计算机图标->CD-RW/DVD-ROM Drive图标;系统自动挂载cdrom到/media下。
(桌面出现新光盘图标XCAT-MPICH2.即挂载成功)
(2)Cp /media/cdrecorder/mpich2-1.0.6.tar.gz /usr
;本机拷贝mpich2-1.0.6.tar.gz到/usr目录下
(3)Cd /usr ;进入usr目录下
(4)Tar zxvf mpich2-1.0.6.tar.gz ;解压mpich2-1.0.6.tar.gz到当前目录(5)cd mpich2-1.0.6 ;进入mpich2-1.0.6目录
(6)./configure –enable–f90 –prefix=/opt/mpich ;生成mpi的makefile 和设置mpich路径启用f90编译器
(7)make ; 编译
(8)make install ;将编译好的文件安装,安装结束后在/opt下生成mpich文件夹
(9) which mpdboot ; 查找文件
(二)配置环境变量
(1)打开终端,输入 vi/etc/bashrc
(2)在最后一行与倒数第2行之间输入(用insert键输入)
export PATH=/opt/mpich/bin:$PATH
export PATH=/opt/intel/cc/10.0.026/bin:$PATH
export PATH=/opt/intel/fc/10.0.026/bin:$PATH
export LD_LIBRARY_PATH=/opt/intel/cc/10.0.026/lib:$LD_LIBRARY_PATH LD_LIBRARY_PATH=/opt/intel/fc/10.0.026/lib:$LD_LIBRARY_PATH
按esc键退出;输入:wq (保存退出文件)
cat /etc/bashrc ;查看文件
(三)小组互相ping通网络的过程和指令
(1)设置一个MPD节点配置文件
在/root下新建 mpd.hosts文件,打开终端输入:
cd /root
vim mpd.hosts ;使用vim文本编辑器(按insert键插入)
s06 ;本机的主机号
s02
s12
s17
s18
按esc键退出;按shift键和输入:wq (保存退出文件)
cat /root/mpd.hosts ;查看文件
(2)将主机名与相应的IP地址绑定
打开终端输入:
vi /etc/hosts (输入与保存退出步骤同上) 10.10.10.106 s06
10.10.10.102 s02
10.10.10.112 s12
10.10.10.117 s17
10.10.10.118 s18
(3)设置两个MPD密码配置文件
打开终端输入:(输入与保存退出步骤同上) cd /root
vi mpd.conf
MPD_SECRETWORD=123456
cd /etc
vi mpd.conf
MPD_SECRETWORD=123456
(4)用绝对模式修改以下3个文件的权限
打开终端输入:
cd /etc
ls –l mpd.conf
chmod 600 mpd.conf ;修改该文件权限为本机可读、可写,同组和其他人没有任何权限
cd /root
ls –l mpd.conf
chmod 600 mpd.conf ;修改该文件权限为本机可读、可写,同组和其他人没有任何权限
ls –l mpd.hosts
chmod 600 mpd.hosts ;修改该文件权限为本机可读、可写,同组和其他人没有任何权限
(5)检查本组IP是否已互相连通
打开终端输入:
ping s02 ;s12、 s17 、s18 同上
如连通,则输入ctrl+c 退出
(6)启动参与与运算的节点
1)首先启动本机
mpdboot –n 1 –f mpd.hosts ;1为本机
2)查看本机是否已启动s06 10.10.10.106
若以启动则退出,输入:mpdallexit
⒉编译pi.c小组并行计算π值。
把小组并行计算成功的截图写入实验报告,若每个同学都以自己的机器启动成功过,就显示自己启动截图,若没有就用本小组的截图,要用文字说明一下是小组图,还是本人图。
(一)编译pi.c小组并行计算π值。
(1)拷贝pi.c
scp root@10.10.10.1:/root/pi.c /root/ ;远程拷贝pi.c文件
(2)编译pi.c
mpicc –o aa pi.c ;将pi.c编译输出为aa
①参加运算的所有机器串通成功
执行 mpdboot –n 5 -f mpd.hosts
mpdtrace -l 后的截图
②启动多节点计算π值结果
执行 mpiexec -n 5 ./aa
mpdtrace -l 后的截图
(二)广播信息
打开终端输入:(本截图为本机输入)ssh s17
password:123456
66666666666
⒊独立设计
①独立设计的C程序,转换成并行程序的指令及程序,启动多节点运
行该程序后截图。
编译lbm.c:并行计算12的阶乘4亿次。
(1)编译lbm.c
mpicc –o aa lbm.c ;将lbm.c编译输出为aa
①参加运算的所有机器串通成功(本截图为本机输入)
执行 mpdboot –n 1 -f aa
mpdtrace -l 后的截图
本机CPU利用率为:
lbm.c 的程序为:
#include <stdio.h>
#include "mpi.h"
#include <stdlib.h>
#define CLR 400000000
unsigned int fac(int f ) /*factorial*/ {
int res=1;
unsigned int i;
for(i=1;i<=f;i++)
{
res=res*i;
}
return res;
}
int main(argc,argv)
int argc;
char **argv;
{
unsigned int i,r=0;
double x1,x2,xx;
MPI_Init(&argc,&argv);
x1=MPI_Wtime();
for(i=0;i<CLR;i++)
{
r=fac(12);
}
x2=MPI_Wtime();
xx=x2-x1;
printf("result=%d\n,time=%f\n",r,xx);
printf("liuzixuan wuyuchen sujinfeng zhaofei macong\n"); MPI_Finalize();
return 0;
}
②练习5—6条指令时,执行后的结果截图
列出指令:
mkdir
ls
cd
date
time
uname
截图为:
③实验中遇到的问题,描述解决过程,经过本次实验你的感想和体会。
答:书上打印有误,经过老师提示后更正了。
因为我一步一步按着老师的讲解做实验,几乎没有遇到什么问题,实验很顺利就完成了。
因为我没有做好后期工作,丢失了第2次实验的截图,我只好借用同组同学的第2次实验截图。
通过这3次实验,我掌握了集群机并行运算的基础步骤,能熟练的运用集群机的并行运算功能,同时巩固了linux指令。